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