我有一个目录结构
├── simulate.py
├── src
│ ├── networkAlgorithm.py
│ ├── ...
我可以使用sys.path.insert()访问网络模块。
import sys
import os.path
sys.path.insert(0, "./src")
from networkAlgorithm import *
但是,pycharm抱怨它无法访问该模块。我如何教pycham解决引用?
我有一个目录结构
├── simulate.py
├── src
│ ├── networkAlgorithm.py
│ ├── ...
我可以使用sys.path.insert()访问网络模块。
import sys
import os.path
sys.path.insert(0, "./src")
from networkAlgorithm import *
但是,pycharm抱怨它无法访问该模块。我如何教pycham解决引用?
当前回答
对于我来说:
Directory0
├── Directory1
│ └── file1.py
├── Directory2
│ ├── file2.py
在file1中,我有:
from Directory2 import file2
它传输一个“未解决的引用Directory2”。
我是这样解决的:
如上所述,将父目录Directory0标记为“源根”
AND
把我的光标放在我有错误的文件上的另一行,这样它就会考虑到我的修改
这很愚蠢,但如果我不执行第二个操作,错误仍然会出现,并可能使您认为您没有通过将父目录标记为Source Root来解决问题。
其他回答
在测试了所有的解决方案后,我建议你看看设置->项目->项目依赖项,并重新安排它们。
最简单的解决方法是在pyCharm软件中执行以下操作:
点击:File > Settings > (Project: your Project name) > Project Interpreter >
然后点击右边的“+”图标,搜索你想要的软件包并安装它。
享受编码吧!!
在新版本的pycharm中,只需右键单击想要导入文件的目录或python包,然后单击“标记目录为”->“源根”
在PyCharm中右键单击文件所在的目录 转到——>标记目录为 选择——>源根
你的问题会解决的
虽然所有的答案都很有帮助,但有一小部分信息应该明确解释:
本质上,具有多个层次目录的项目作为具有某些属性的包工作。 要导入自定义本地创建的类,我们需要导航到包含.py文件的目录,并在那里创建一个__init__.py(空)文件。
这之所以有用,是因为需要这个文件才能使Python将该目录视为包含包的目录。干杯!