我的结构是这样的
/App
__init__.py
-/dirA
-__init__.py
-a.py
-/dirB
-__init__.py
-b.py
/samy_app
__init__.py
settings.py
urls.py
manage.py
在b.py内部,我想导入a.py
所以在b.py里面我有
from App.dirA import a
但是,我收到的错误是“ImportError:没有名为'App'的模块”
我也试过用。。但这也不行。你知道吗
我还想知道,如果我不应该把文件在不同的目录像那样。这真的是为了组织。或者我应该将它们移出应用程序,并将文件夹放在与应用程序相同的目录中管理.py?你知道吗
我真的很想得到你的帮助。我试了一整天。你知道吗
你知道吗系统路径输出
['', '/root/django-dev', '/usr/lib/python35.zip', '/usr/lib/python3.5', '/usr/lib/python3.5/plat-x86_64-linux-gnu', '/usr/lib/python3.5/lib-dynload', '/usr/lib/python3.5/site-packages', '/usr/local/lib/python3.5/dist-packages', '/usr/lib/python3/dist-packages']
谢谢大家的帮助。有没有什么我在设置服务器时没有做的事情?我看了文件,似乎这个导入应该工作没有附加任何路径。。。你知道吗
App
目录的父目录应该在PYTHONPATH
(或sys.path
)中。如果App
目录位于/home/dorian/mega_project
,那么PYTHONPATH
应该包含/home/dorian/mega_project
。你知道吗我相信当我这样做的时候,我通常不得不这样做:
我的应用程序的根目录是
App
目录。你知道吗你在说
manage.py
,你是在用django吗?你知道吗无论如何,如果从dirB运行脚本,您将得到一个错误,但是如果您有这样的结构:
而且在主.py你有
from App.dirB import b
在
b.py
中你有from App.dirA import a
或from ..dirA import a
你应该没事的。你知道吗
在任何其他情况下,您可能应该将../(或它的绝对路径)添加到
PYTHONPATH
但我觉得这不是个好主意。你知道吗
相关问题 更多 >
编程相关推荐