Azure App Service中的Python ModuleNotFoundError包

时间:2019-12-16 16:19:31

标签: python azure flask flask-sqlalchemy

我在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

2 个答案:

答案 0 :(得分:0)

我将检查这种情况下的激活环境,因为您已经检查了文件夹中是否已存在SQLAlchemy软件包。

可能正在发生的事情是您正在使用系统pip(pip3)将flask-sqlalchemy安装到系统库,然后尝试在venv内部使用它。还可能发生的情况是,您已成功将flask-sqlalchemy安装到venv,然后使用系统python(而非venv)尝试将其导入。

您可以尝试通过venv安装软件包吗?

https://stackoverflow.com/a/59281844/6049604

其他参考:

https://docs.microsoft.com/en-us/azure-stack/user/azure-stack-dev-start-howto-vm-python?view=azs-1910

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