flask教程故障排除:ModuleNotFoundError:没有名为' app'

时间:2017-04-11 01:26:07

标签: python bash flask module

我在运行run.py文件时遇到问题。我的文件结构如下所示:enter image description here

使用另一个名为' run.py'的python文件。与python3一起位于flask / bin中。我的run.py文件只是:

var parts = data[j][i].split(' ');
tableData += '<td>';
for(x=0; x<parts.length; x++)
{
  tableData += '<a href="#">' +parts[x] + ' ' + '</a>';
}
tableData += '</td>'; 

然而,运行&#39; python3 run.py&#39;抛出错误:

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

app.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放入flask / bin文件夹并将其放在我上面目录中显示的所有文件夹之外,但这些方法都没有用为了我。

1 个答案:

答案 0 :(得分:2)

你的run.py无法导入应用程序,因为它无法在bin文件夹中看到应用程序,python会发生的是所有python文件都被视为模块而文件夹带有 init .py文件被视为包,因此run.py将开始寻找应用程序包以导入应用程序模块,但它将在bin目录中搜索。通读Python documentation以完全理解模块和包。现在,您可能希望重新组织应用程序目录,如下所示:

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

通过确保run.py和app目录在目录中处于同一级别,run.py将能够立即从应用程序导入。

我希望有帮助