python导入问题

时间:2010-09-15 20:11:25

标签: python

虽然互联网上有很多帖子以及堆栈溢出的一些帖子,但我还是想问一下这个讨厌的python“导入”问题。

行。所以,开源代码组织通常是这样的:

项目/ SRC / model.py;

项目/测试/ testmodel.py

如果我将着名的__init__.py放在项目目录中,也放在src /和test /子目录中, 然后将“from project.src import model”放入testmodel.py。 这是行不通的!继续告诉我,找不到名为“project.src”的模块!

如何在不改变代码结构的情况下解决问题?

4 个答案:

答案 0 :(得分:3)

你不应该将项目目录添加到你的python路径,但它是父目录,例如想象一下设置

/home/user/develop/project/src/model

你将/ home / user / develop添加到PYTHONPATH

如果仍然无效,请确保您没有'project.py'insite project / src / model。

答案 1 :(得分:2)

确保python路径上的{strong>父目录为project/,而不是项目目录。如果添加项目路径本身,像import project.src这样的导入将查找project / project / src。

答案 2 :(得分:0)

项目所在的目录可能不在你的python路径中。

答案 3 :(得分:0)

您可以使用testmodel.py中的相对导入(假设Python 2.5+),例如:

from ..src import model

但是,如果您将testmodel.py作为主模块运行,则不起作用。