2017-04-11 57 views
0

我无法运行我的run.py文件。我的文件结构如下所示:enter image description here烧瓶教程故障排除:ModuleNotFoundError:没有名为'app'的模块

另一个名为'run.py'的python文件与python3一起位于flask/bin中。我run.py文件很简单:

#!flask/bin/python3 
from app import app 
app.run(debug=True) 

但是运行 'python3 run.py' 引发错误:

$ python3 run.py 
Traceback (most recent call last): 
File "run.py", line 2, in <module> 
from app import app 
ModuleNotFoundError: No module named 'app' 

app.py样子:

from flask import Flask 

app = Flask(__name__) 
from app import views 

我很困惑关于如何解决这个问题,我已经搞乱了目录,比如把app.py放到flask/bin文件夹中,并把它放在我上面目录中显示的所有文件夹之外,但是这些方法对我来说并不合适。

+0

如果它位于你需要通过把一个'__init __。py'文件中出现,带'app'成一个模块,那么'app'文件夹之外做'从应用程序.app导入应用程序' – Suever

回答

1

你run.py无法导入应用程序,因为它无法看到bin文件夹内的应用程序,有什么用蟒蛇的情况是,被视为模块所有的Python的文件和文件夹与初始化 .py文件是作为包处理,所以run.py将开始寻找应用程序包来导入应用程序模块,但它会在bin目录内进行搜索。通读Python documentation以充分了解模块和软件包。现在你可能要重新组织你的应用程序目录,看起来像这样:

dir app 
    file app.py 
dir flask 
file run.py 

通过确保run.py和应用程序目录是在目录run.py同一水平将能够从现在的应用程序导入。

我希望帮助

+0

非常感谢你是对的,它正在工作,事实证明我正在做的教程声明要放入根文件夹!我很困惑bc我直到现在还不理解一个shebang的概念,并试图把它放在哪里,这个shebang指导haha –

+0

我总是乐于协助我在[我的博客](http:// www。 closinbrace.com)你可以检查出来,我解释了一些在那里的东西 –

相关问题