簡體   English   中英

Flask 帶有 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: ***************************************************

我認為正在發生的事情是,在運行安裝了dashpandas的應用程序時,您沒有處於活動狀態的環境。

您可能在/home/mysite內的環境中安裝了dashpandas ,但這並不意味着當您執行flask run/var/www內運行時,它會自動從您的其他環境導入這些依賴項。

我能夠通過在pythonanywhere_com_wsgi.py所在文件夾內的環境中安裝dashpandas來運行您的代碼。

我在錯誤的環境中,在正確安裝了所有依賴項之后就可以了! 謝謝

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM