【发布时间】:2018-01-13 15:55:16
【问题描述】:
这是我的包层次结构
app
|--__init__.py //Empty file
|--server.py
|--global_vars.py
|
|--handlers
|--__init__.py //Empty file
|
|--url1
| |--__init__.py //Empty file
| |--app1.py
| |--app2.py
|
|--url2
|--__init__.py //Empty file
|--app3.py
现在我想在app1.py 中导入global_vars.py。
所以我给了
import app.global_vars.py 在 app1.py 中。
但我收到以下错误:
import app.global_vars
ImportError: No module named app.global_vars
我还应该提到我正在从 server.py 导入 app1.py。 server.py 是我实际运行的文件。当 server.py 导入 app1.py 时,app1.py 尝试导入 global_vars.py 并出现上述错误
我在这里做错了什么?
【问题讨论】:
-
app中是否有__init__.py文件? -
是的,在给定文件层次结构的所有目录中都有一个
__init__.py -
import app; print app.__file__说的是那个模块/包的路径? -
我去了应用程序的父文件夹,打开了一个 python shell 并导入了应用程序。现在
app.__file__给出app/__init__.py作为输出 -
不,我希望你在
app1.py中这样做。
标签: python package python-import python-module