同时,在主调模块中输入import进来的模块的名字,不会出现代码提示.......
居然没有代码提示
这是怎么个鬼情况呢???
改一改:
路径写全,问题解决了.
然而这仅仅是一种解决方案.
另外一种解决方案是这样的:
把这个包含文件的目录设置成Sources Root
pycharm就会索引里面的*.py文件了.....
然而有一个问题:
假如说我的工程里面有两个文件夹,都设置成了sources root,会发生什么情况呢??
我们可以看到,这个test.py把database文件夹下的模块classuser给引入进来了
---------------------------分割线------------------------------------------
那么,如果我们的程序脱离了pycharm之后会发生什么情况呢?
我们去这个项目的文件夹开一个终端命令行窗口,然后python一下test.py
果然,上下文依赖出现问题了.
解决的方法是: 把你的主程序文件放在一个文件夹里面去,然后它所有调用的模块都放在这个文件夹,或者这个文件夹的子文件夹里面去:
这样子,既可以在pycharm里面运行这个程序,也可以单独的使用命令行运行这个程序..
那么我想,在pycharm里面为了避免出现这种虚拟环境造成路径问题,可以考虑什么样的代码风格呢?
建议把你程序的主入口模块放在一个文件夹A中,所有他要调用的模块放在A的子文件夹里面,然后在写代码的时候,将模块的调用,写成:
子文件夹.模块名
欢迎拍砖讨论....
另外:使用pycharm,官方推荐的编码规范是 PEP8:
https://www.python.org/dev/peps/pep-0008/#imports
点这个链接,就可以看到pep8 对import的建议:
其中有一句:
所以,还是来整理一下你的文件结构,然后用绝对路径吧