Azure应用程序服务中的Python ModuleNotFoundError包

人气:765 发布:2022-10-16 标签: azure python flask flask-sqlalchemy

问题描述

我在Azure中使用的是Python3.7(烧瓶)WebApp

我还确认了Web应用程序堆栈运行时也运行了Python3.7

项目在127.0.0.1:5000(本地主机)运行正常

当我尝试将脚本部署到Azure WebApp(应用程序服务)时

我收到此错误:-

File "/home/site/wwwroot/init.py", line 2, in <module>
2019-12-16T15:50:45.275997228Z     from flask_sqlalchemy import SQLAlchemy
2019-12-16T15:50:45.276001128Z ModuleNotFoundError: No module named 'flask_sqlalchemy'

我已经在venv(Env)中安装了FlaskSQLAlChemy 正在运行

$ pip install Flask-SQLAlchemy

我还将FlASK-SQLAlChemy导入Requirements。txt

flask_sqlalchemy==2.4.1
sqlalchemy==1.3.11
click==6.7
Flask==1.0.2
itsdangerous==0.24
Jinja2==2.10
MarkupSafe==1.0
Werkzeug==0.14.1
flask_admin==1.5.3
flask_login==0.4.1
pyodbc==4.0.27

我还运行

$ pip install -r requirements.txt 

我的pip版本是19

$ pip -V 
pip 19.0.3 from /<project_path>/venv/lib/python3.7/site-packages/pip (python 3.7)

在venv中安装包

$ ls venv/lib/python3.7/site-packages/
Flask-1.0.2.dist-info           flask_sqlalchemy
Flask_Admin-1.5.3-py3.7.egg-info    itsdangerous-0.24-py3.7.egg-info
Flask_Login-0.4.1-py3.7.egg-info    itsdangerous.py
Flask_SQLAlchemy-2.4.1.dist-info    jinja2
Jinja2-2.10.dist-info           markupsafe
MarkupSafe-1.0-py3.7.egg-info       pip
SQLAlchemy-1.3.11.dist-info     pip-19.0.3.dist-info
WTForms-2.2.1.dist-info         pkg_resources
Werkzeug-0.14.1.dist-info       pyodbc-4.0.27.dist-info
__pycache__             pyodbc.cpython-37m-darwin.so
click                   setuptools
click-6.7.dist-info         setuptools-40.8.0.dist-info
easy-install.pth            sqlalchemy
easy_install.py             werkzeug
flask                   wheel
flask_admin             wheel-0.33.6.dist-info
flask_login             wtforms

推荐答案

问题是因为venv未将antenv.tar.gz文件导出到WebApp

请不要使用az webapp up --sku F1 -n <app-name> -l <location-name>重新部署更新

使用本地Git部署到Azure应用程序服务:-

https://docs.microsoft.com/en-us/azure/app-service/deploy-local-git

678