使用另一个名为' 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文件夹并将其放在我上面目录中显示的所有文件夹之外,但这些方法都没有用为了我。
答案 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将能够立即从应用程序导入。
我希望有帮助