我有一个文件夹blimp
与__init__.py
,models.py
和views.py
蟒蛇2.7导入一个类从同一目录
当我从我使用from blimp.models import ..
的文件夹外导入,但文件夹里面给出了一个导入错误,除非我用from models import ..
我在想这是为什么? 谢谢
我有一个文件夹blimp
与__init__.py
,models.py
和views.py
蟒蛇2.7导入一个类从同一目录
当我从我使用from blimp.models import ..
的文件夹外导入,但文件夹里面给出了一个导入错误,除非我用from models import ..
我在想这是为什么? 谢谢
当你的文件夹内,你这样做:
from blimp.models import ...
的Python试图找到blimp/blimp/models.py
。所以这是逻辑有错误,我个人总是正确配置我的PYTHONPATH为了有通用的导入代码(没有特定的Python代码来操纵PYTHON PATH)。
为此,我使用virtualenv和virtualenvwrapper。当我的virtualenv启用时:
add2virtualenv directory1 directory2 directory3
之后,directory1 directory2和directory3在PYTHONPATH中可用。
因为有一个Python搜索模型的顺序。 Python寻找的路径之一是你当前的目录(但不是上面的目录)。
当你在blimp
文件夹里面时,没有blimp.models,只有一个模型。解决方法是始终从一个目录运行代码(例如python -m blimp.stuff
)。