gpt4 book ai didi

python - 模块未找到错误: No module named 'flask_sqlalchemy' error in Azure Web App

转载 作者:行者123 更新时间:2023-12-02 07:20:18 27 4
gpt4 key购买 nike

如何安装缺少的软件包?我已阅读所有可能的答案,但没有一个对我有用:)

我在部署到 azure webapp 时遇到错误。我有一个简单的 Web 应用程序,它可以在本地主机上正常工作,当我将其部署在 azure 上时,我收到 Flask_sqlalchemy 模块未找到错误。

我已经正确创建了 azure Web 应用程序并使用简单的 Flask hello world 进行了测试,它可以工作。当我包含flask_sqlalchemy包时出现错误,错误是:

Container adbv1_0_dc3e289f couldn't be started: Logs = 2021-06-17T18:05:03.086995675Z 
2021-06-17T18:05:03.087028275Z _____
2021-06-17T18:05:03.087033575Z / _ \ __________ _________ ____
2021-06-17T18:05:03.087037475Z / /_\ \___ / | \_ __ \_/ __ \
2021-06-17T18:05:03.087050475Z / | \/ /| | /| | \/\ ___/
2021-06-17T18:05:03.087055275Z \____|__ /_____ \____/ |__| \___ >
2021-06-17T18:05:03.087059275Z \/ \/ \/
2021-06-17T18:05:03.087062875Z
2021-06-17T18:05:03.087066175Z A P P S E R V I C E O N L I N U X
2021-06-17T18:05:03.087069575Z
2021-06-17T18:05:03.087072775Z Documentation: http://aka.ms/webapp-linux
2021-06-17T18:05:03.087076175Z Python 3.7.9
2021-06-17T18:05:03.087079575Z Note: Any data outside '/home' is not persisted
2021-06-17T18:05:03.288106144Z Starting OpenBSD Secure Shell server: sshd.
2021-06-17T18:05:03.337564410Z App Command Line not configured, will attempt auto-detect
2021-06-17T18:05:03.344405319Z Launching oryx with: create-script -appPath /home/site/wwwroot -output /opt/startup/startup.sh -virtualEnvName antenv -defaultApp /opt/defaultsite -bindPort 8000
2021-06-17T18:05:03.372748657Z Cound not find build manifest file at '/home/site/wwwroot/oryx-manifest.toml'
2021-06-17T18:05:03.372804757Z Could not find operation ID in manifest. Generating an operation id...
2021-06-17T18:05:03.372811157Z Build Operation ID: dcddb3cf-1d35-498a-a761-e3406dd43c12
2021-06-17T18:05:04.477776233Z Oryx Version: 0.2.20210420.1, Commit: 85c6e9278aae3980b86cb1d520aaad532c814ed7, ReleaseTagName: 20210420.1
2021-06-17T18:05:04.681032904Z Detected an app based on Flask
2021-06-17T18:05:04.682204606Z Generating `gunicorn` command for 'app:app'
2021-06-17T18:05:05.096980460Z Writing output script to '/opt/startup/startup.sh'
2021-06-17T18:05:05.554970271Z WARNING: Could not find virtual environment directory /home/site/wwwroot/antenv.
2021-06-17T18:05:05.560535178Z WARNING: Could not find package directory /home/site/wwwroot/__oryx_packages__.
2021-06-17T18:05:08.084237043Z [2021-06-17 18:05:08 +0000] [35] [INFO] Starting gunicorn 20.1.0
2021-06-17T18:05:08.123152295Z [2021-06-17 18:05:08 +0000] [35] [INFO] Listening at: http://0.0.0.0:8000 (35)
2021-06-17T18:05:08.131002505Z [2021-06-17 18:05:08 +0000] [35] [INFO] Using worker: sync
2021-06-17T18:05:08.206255905Z [2021-06-17 18:05:08 +0000] [38] [INFO] Booting worker with pid: 38
2021-06-17T18:05:10.241408615Z [2021-06-17 18:05:10 +0000] [38] [ERROR] Exception in worker process
2021-06-17T18:05:10.241442915Z Traceback (most recent call last):
2021-06-17T18:05:10.241448815Z File "/opt/python/3.7.9/lib/python3.7/site-packages/gunicorn/arbiter.py", line 589, in spawn_worker
2021-06-17T18:05:10.241453315Z worker.init_process()
2021-06-17T18:05:10.241457515Z File "/opt/python/3.7.9/lib/python3.7/site-packages/gunicorn/workers/base.py", line 134, in init_process
2021-06-17T18:05:10.241473615Z self.load_wsgi()
2021-06-17T18:05:10.241477715Z File "/opt/python/3.7.9/lib/python3.7/site-packages/gunicorn/workers/base.py", line 146, in load_wsgi
2021-06-17T18:05:10.241481515Z self.wsgi = self.app.wsgi()
2021-06-17T18:05:10.241485115Z File "/opt/python/3.7.9/lib/python3.7/site-packages/gunicorn/app/base.py", line 67, in wsgi
2021-06-17T18:05:10.241489015Z self.callable = self.load()
2021-06-17T18:05:10.241492715Z File "/opt/python/3.7.9/lib/python3.7/site-packages/gunicorn/app/wsgiapp.py", line 58, in load
2021-06-17T18:05:10.241496515Z return self.load_wsgiapp()
2021-06-17T18:05:10.241500115Z File "/opt/python/3.7.9/lib/python3.7/site-packages/gunicorn/app/wsgiapp.py", line 48, in load_wsgiapp
2021-06-17T18:05:10.241504315Z return util.import_app(self.app_uri)
2021-06-17T18:05:10.241508015Z File "/opt/python/3.7.9/lib/python3.7/site-packages/gunicorn/util.py", line 359, in import_app
2021-06-17T18:05:10.241511815Z mod = importlib.import_module(module)
2021-06-17T18:05:10.241515515Z File "/opt/python/3.7.9/lib/python3.7/importlib/__init__.py", line 127, in import_module
2021-06-17T18:05:10.241519315Z return _bootstrap._gcd_import(name[level:], package, level)
2021-06-17T18:05:10.241523015Z File "", line 1006, in _gcd_import
2021-06-17T18:05:10.241527115Z File "", line 983, in _find_and_load
2021-06-17T18:05:10.241531815Z File "", line 967, in _find_and_load_unlocked
2021-06-17T18:05:10.241535715Z File "", line 677, in _load_unlocked
2021-06-17T18:05:10.241539515Z File "", line 728, in exec_module
2021-06-17T18:05:10.241543315Z File "", line 219, in _call_with_frames_removed
2021-06-17T18:05:10.241547215Z File "/home/site/wwwroot/app.py", line 5, in
2021-06-17T18:05:10.241551315Z from flask_sqlalchemy import SQLAlchemy
2021-06-17T18:05:10.241555015Z ModuleNotFoundError: No module named 'flask_sqlalchemy'
2021-06-17T18:05:10.241558715Z [2021-06-17 18:05:10 +0000] [38] [INFO] Worker exiting (pid: 38)
2021-06-17T18:05:11.199763690Z [2021-06-17 18:05:11 +0000] [35] [INFO] Shutting down: Master
2021-06-17T18:05:11.244026549Z [2021-06-17 18:05:11 +0000] [35] [INFO] Reason: Worker failed to boot.

我还正确创建了可以访问 azure 应用服务的 azure sql 数据库,并添加了我的 IP 地址。

我尝试使用安装软件包从 kudu 终端 pip install -rrequirements.txt 它被卡住了,这是我收到的消息。

/home>cd site/wwwroot
/home/site/wwwroot>pip3 install -r requirements.txt
Defaulting to user installation because normal site-packages is not writeable
Collecting flask_sqlalchemy==2.4.1
Downloading Flask_SQLAlchemy-2.4.1-py2.py3-none-any.whl (17 kB)
Collecting sqlalchemy==1.3.11
Downloading SQLAlchemy-1.3.11.tar.gz (6.0 MB)
Collecting Flask==1.0.2
Downloading Flask-1.0.2-py2.py3-none-any.whl (91 kB)
Collecting Jinja2==2.10
Downloading Jinja2-2.10-py2.py3-none-any.whl (126 kB)
Collecting Werkzeug==0.14.1
Downloading Werkzeug-0.14.1-py2.py3-none-any.whl (322 kB)
Collecting pyodbc==4.0.27
Downloading pyodbc-4.0.27.tar.gz (242 kB)
Collecting itsdangerous>=0.24
Downloading itsdangerous-1.1.0-py2.py3-none-any.whl (16 kB)
Collecting click>=5.1
Downloading click-7.1.2-py2.py3-none-any.whl (82 kB)
Collecting MarkupSafe>=0.23
Downloading MarkupSafe-1.1.1-cp35-cp35m-manylinux1_x86_64.whl (27 kB)
Using legacy 'setup.py install' for sqlalchemy, since package 'wheel' is not installed.
Using legacy 'setup.py install' for pyodbc, since package 'wheel' is not installed.
Installing collected packages: MarkupSafe, Werkzeug, Jinja2, itsdangerous, click, sqlalchemy, Flask, pyodbc, flask-sqlalchemy
Running setup.py install for sqlalchemy: started
Running setup.py install for sqlalchemy: finished with status 'done'
Running setup.py install for pyodbc: started
Running setup.py install for pyodbc: finished with status 'error'>

这是我的代码:

from flask import Flask, render_template, request, url_for
from flask_sqlalchemy import SQLAlchemy
import csv
import os
import urllib
import datetime
import time

app = Flask(__name__)
app.config['SQLALCHEMY_TRACK_MODIFICATIONS'] = 'False'

# Configure Database URI for azure sql
params = urllib.parse.quote_plus("DRIVER={ODBC Driver 17 for SQL Server};SERVER="myservername".database.windows.net;DATABASE="mydbname";UID="myuid";PWD="Mypassword"")

# initialization
app = Flask(__name__)
app.config['SQLALCHEMY_DATABASE_URI'] = "mssql+pyodbc:///?odbc_connect=%s" % params

db = SQLAlchemy(app)

class table(db.Model):
_id = db.Column('_id', db.Integer, primary_key = True)
time = db.Column(db.String(50))

def __init__(self, time):
self.time = time


@app.route('/')
def hello_world():
return "Hello"



if __name__ == '__main__':
db.create_all()
app.run(debug=True)

这就是我的requirements.txt 文件的样子:

Flask>=1.0,<=1.1.2
azure-storage-blob
azure-identity
flask_sqlalchemy==2.4.1
pyodbc

我的应用程序文件结构:

File Structure for the app

最佳答案

在ssh下运行cmd,重启后,检查你的webapp是否恢复正常。

apt-get update
apt-get install g++
apt-get install python3-sqlalchemy
// I carefully read your log pyodbc and it seems that it was not installed successfully.
apt-get install unixodbc-dev
pip install pyodbc

关于python - 模块未找到错误: No module named 'flask_sqlalchemy' error in Azure Web App,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/68025129/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com