我在Azure中使用Python3.7(Flask)Web应用程序
我也被确认为Web应用程序堆栈运行时也运行Python3.7
项目在127.0.0.1:5000(localhost)中正常运行
当我尝试将部署脚本导入到Azure Web应用程序(应用程序服务)中
我收到此错误:-
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)中安装了Flask-SQLAlchemy 奔跑
$ 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
我的点子版本是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
。
答案 0 :(得分:0)
我将检查这种情况下的激活环境,因为您已经检查了文件夹中是否已存在SQLAlchemy软件包。
可能正在发生的事情是您正在使用系统pip(pip3)将flask-sqlalchemy安装到系统库,然后尝试在venv内部使用它。还可能发生的情况是,您已成功将flask-sqlalchemy安装到venv,然后使用系统python(而非venv)尝试将其导入。
您可以尝试通过venv安装软件包吗?
https://stackoverflow.com/a/59281844/6049604
其他参考:
https://www.reddit.com/r/flask/comments/9r0kmz/python_37_error_with_flasksqlalchemy/
希望有帮助。
答案 1 :(得分:0)
该问题是因为venv
未将antenv.tar.gz
文件导出到Web应用程序
请不要使用az webapp up --sku F1 -n <app-name> -l <location-name>
重新部署更新
使用本地Git部署到Azure App Service:-
https://docs.microsoft.com/en-us/azure/app-service/deploy-local-git