Python2.7从同一目录导入类

Python2.7从同一目录导入类,python,python-2.7,Python,Python 2.7,我有一个文件夹blimp,里面有一个\uuuu init\uuuuuuuuuuuuuuupy,models.py和views.py 当我从文件夹外部导入时,我使用blimp.models import..中的,但在文件夹内部,除非我使用from models import.. 我想知道为什么会这样? 谢谢,因为Python搜索模型有一个顺序。Python查找的路径中有您的当前目录(但不是它上面的目录) 当您在blimp文件夹中时,没有blimp.models,只有一个models。解决方案是始终

我有一个文件夹
blimp
,里面有一个
\uuuu init\uuuuuuuuuuuuuuupy
models.py
views.py

当我从文件夹外部导入时,我使用blimp.models import..中的
,但在文件夹内部,除非我使用
from models import..

我想知道为什么会这样?
谢谢,因为Python搜索模型有一个顺序。Python查找的路径中有您的当前目录(但不是它上面的目录)


当您在
blimp
文件夹中时,没有blimp.models,只有一个models。解决方案是始终从一个目录向上运行代码(例如,
python-mblimp.stuff
)。

,因为python搜索模型有一个顺序。Python查找的路径中有您的当前目录(但不是它上面的目录)


当您在
blimp
文件夹中时,没有blimp.models,只有一个models。解决方案是始终从一个目录向上运行代码(例如,
python-m blimp.stuff
)。

当您在文件夹中并且执行以下操作时:

from blimp.models import ...
Python尝试查找
blimp/blimp/models.py
。所以有错误是合乎逻辑的

就我个人而言,我总是正确配置PYTHONPATH,以获得通用导入代码(没有特定的python代码来操作python路径)

为此,我使用和。启用我的virtualenv时:

add2virtualenv directory1 directory2 directory3

之后,在PYTHONPATH中可以使用directory1 directory2和directory3。

当您在文件夹中并且执行以下操作时:

from blimp.models import ...
Python尝试查找
blimp/blimp/models.py
。所以有错误是合乎逻辑的

就我个人而言,我总是正确配置PYTHONPATH,以获得通用导入代码(没有特定的python代码来操作python路径)

为此,我使用和。启用我的virtualenv时:

add2virtualenv directory1 directory2 directory3
之后,可以在PYTHONPATH中使用directory1、directory2和directory3