带有 dash 应用程序的烧瓶,为什么 WGSI 无法导入模块?
Flask with dash app, why WGSI can't import modules?
我正在尝试将破折号实例添加到 Flask 应用程序,但遇到 WGSI 导入问题。
WGSI 不想在安装 dash 模块时导入它,当我 运行 直接文件 Flask_app.py.
时效果很好
/var/www/pythonanywhere_com_wsgi.py
import sys
# add your project directory to the sys.path
project_home = '/home/mysite'
if project_home not in sys.path:
sys.path = [project_home] + sys.path
# import flask app but need to call it "application" for WSGI to work
from flask_app import app as application # noqa
/home/mysite/flask_app.py
from flask import Flask, render_template
import dash
app = Flask(__name__)
@app.route('/')
def hello_world():
return 'Hello from Flask!
# Set-up endpoint 1
app_1 = dash.Dash(name='app1', server=app, url_base_pathname='/app1/')
app_1.layout = html.H1('App 1')
错误:
Error running WSGI application
2021-12-14 16:16:26,591: ModuleNotFoundError: No module named 'dash'
2021-12-14 16:16:26,591: File "/var/www/pythonanywhere_com_wsgi.py", line 16, in <module>
2021-12-14 16:16:26,591: from flask_app import app as application # noqa
2021-12-14 16:16:26,591:
2021-12-14 16:16:26,592: File "/home/mysite/flask_app.py", line 5, in <module>
2021-12-14 16:16:26,592: import dash
2021-12-14 16:16:26,592: ***************************************************
2021-12-14 16:16:26,592: If you're seeing an import error and don't know why,
2021-12-14 16:16:26,592: we have a dedicated help page to help you debug:
2021-12-14 16:16:26,592: https://help.pythonanywhere.com/pages/DebuggingImportError/
2021-12-14 16:16:26,592: ***************************************************
编辑:事实上,WGSI 似乎不会导入任何模块,尝试使用 pandas:
2021-12-14 16:47:51,730: Error running WSGI application
2021-12-14 16:47:51,734: ModuleNotFoundError: No module named 'pandas'
2021-12-14 16:47:51,734: File "/var/www/pythonanywhere_com_wsgi.py", line 17, in <module>
2021-12-14 16:47:51,734: from flask_app import app as application # noqa
2021-12-14 16:47:51,734:
2021-12-14 16:47:51,735: File "/home/mysite/flask_app.py", line 5, in <module>
2021-12-14 16:47:51,735: import pandas
2021-12-14 16:47:51,735: ***************************************************
2021-12-14 16:47:51,735: If you're seeing an import error and don't know why,
2021-12-14 16:47:51,735: we have a dedicated help page to help you debug:
2021-12-14 16:47:51,735: https://help.pythonanywhere.com/pages/DebuggingImportError/
2021-12-14 16:47:51,735: ***************************************************
我认为发生的情况是,当 运行 安装了 dash
和 pandas
的应用程序时,您没有激活环境。
您可能在 /home/mysite
内的环境中安装了 dash
和 pandas
,但这并不意味着您在 /var/www
内执行 flask run
它会自动从您的其他环境导入这些依赖项。
我能够通过在文件夹 pythonanywhere_com_wsgi.py
所在的环境中安装 dash
和 pandas
来获取您的代码 运行。
我是在错误的环境中,正确安装所有依赖项后就可以了!谢谢
我正在尝试将破折号实例添加到 Flask 应用程序,但遇到 WGSI 导入问题。
WGSI 不想在安装 dash 模块时导入它,当我 运行 直接文件 Flask_app.py.
时效果很好/var/www/pythonanywhere_com_wsgi.py
import sys
# add your project directory to the sys.path
project_home = '/home/mysite'
if project_home not in sys.path:
sys.path = [project_home] + sys.path
# import flask app but need to call it "application" for WSGI to work
from flask_app import app as application # noqa
/home/mysite/flask_app.py
from flask import Flask, render_template
import dash
app = Flask(__name__)
@app.route('/')
def hello_world():
return 'Hello from Flask!
# Set-up endpoint 1
app_1 = dash.Dash(name='app1', server=app, url_base_pathname='/app1/')
app_1.layout = html.H1('App 1')
错误:
Error running WSGI application
2021-12-14 16:16:26,591: ModuleNotFoundError: No module named 'dash'
2021-12-14 16:16:26,591: File "/var/www/pythonanywhere_com_wsgi.py", line 16, in <module>
2021-12-14 16:16:26,591: from flask_app import app as application # noqa
2021-12-14 16:16:26,591:
2021-12-14 16:16:26,592: File "/home/mysite/flask_app.py", line 5, in <module>
2021-12-14 16:16:26,592: import dash
2021-12-14 16:16:26,592: ***************************************************
2021-12-14 16:16:26,592: If you're seeing an import error and don't know why,
2021-12-14 16:16:26,592: we have a dedicated help page to help you debug:
2021-12-14 16:16:26,592: https://help.pythonanywhere.com/pages/DebuggingImportError/
2021-12-14 16:16:26,592: ***************************************************
编辑:事实上,WGSI 似乎不会导入任何模块,尝试使用 pandas:
2021-12-14 16:47:51,730: Error running WSGI application
2021-12-14 16:47:51,734: ModuleNotFoundError: No module named 'pandas'
2021-12-14 16:47:51,734: File "/var/www/pythonanywhere_com_wsgi.py", line 17, in <module>
2021-12-14 16:47:51,734: from flask_app import app as application # noqa
2021-12-14 16:47:51,734:
2021-12-14 16:47:51,735: File "/home/mysite/flask_app.py", line 5, in <module>
2021-12-14 16:47:51,735: import pandas
2021-12-14 16:47:51,735: ***************************************************
2021-12-14 16:47:51,735: If you're seeing an import error and don't know why,
2021-12-14 16:47:51,735: we have a dedicated help page to help you debug:
2021-12-14 16:47:51,735: https://help.pythonanywhere.com/pages/DebuggingImportError/
2021-12-14 16:47:51,735: ***************************************************
我认为发生的情况是,当 运行 安装了 dash
和 pandas
的应用程序时,您没有激活环境。
您可能在 /home/mysite
内的环境中安装了 dash
和 pandas
,但这并不意味着您在 /var/www
内执行 flask run
它会自动从您的其他环境导入这些依赖项。
我能够通过在文件夹 pythonanywhere_com_wsgi.py
所在的环境中安装 dash
和 pandas
来获取您的代码 运行。
我是在错误的环境中,正确安装所有依赖项后就可以了!谢谢