我试图学习python并且似乎无法理解python如何处理导入。我正在尝试使用Flask应用程序,我可以使用相对网址运行它,但我想使用绝对网址作为练习来了解导入。
我已将PYTHONPATH
设置到我项目中的app
目录中,但似乎没有做任何事情。
这是我的设置。我左边有app/__init.py
,右边有app/mod_users/controllers.py
。我的run.py
是一个包含一行from app import app
的文件。
正如您在第17行所看到的,它不像绝对导入。这可能是因为我的app变量名为app
,导入路径也是如此?
答案 0 :(得分:0)
经过一些实验,感谢@downshift,我想我已经弄明白了。 4个步骤让我说出我想要的状态。
将此行添加到app/__init.py
from __future__ import absolute_import
export PYTHONPATH=./
export FLASK_APP=app
(和FLASK_DEBUG=1
进行实时重新加载)
将run.py
更改为
from app import app
app.run()
如果我执行上述操作,我可以使用flask run
和python run.py
,它们的工作方式相同。呜呜!