Python 导入问题
虽然网上有很多相关的帖子,还有一些在Stack Overflow上的讨论,但我还是想问一下这个让人头疼的Python“导入”问题。
好的,开源代码的组织结构通常是这样的:
project/src/model.py;
project/test/testmodel.py
如果我在项目的根目录下放一个 __init__.py
文件,并且在src/和test/子目录里也放一个,然后在testmodel.py里写“from project.src import model”,结果却不行!系统一直告诉我找不到名为“project.src”的模块!
我该怎么解决这个问题,而不改变代码的结构呢?
4 个回答
0
项目所在的文件夹可能不在你的 Python 路径中。
3
你不应该把项目的目录添加到你的pythonpath中,而是应该添加它的上级目录,比如说想象一下这个设置
/home/user/develop/project/src/model
你应该把 /home/user/develop 添加到 PYTHONPATH 中
如果这样还是不行,确保你的项目/src/model 里面没有一个叫 'project.py' 的文件。
2
确保你把project/
的父目录添加到你的pythonpath中,而不是直接添加项目目录。如果你把项目路径本身添加进去,像import project.src
这样的导入就会去找project/project/src
这个路径。