应用程序错误Azure:ModuleNotFoundError:没有名为“flask\u socketio”的模块

2024-04-26 18:34:10 发布

您现在位置:Python中文网/ 问答频道 /正文

我正在尝试在Azure上使用Gunicorn部署Flask应用程序。我的应用程序在localhost甚至Heroku上都能完美运行,但当我尝试在Azure Web App上部署它时,它不会生成并显示:ModuleNotFoundError:没有名为“flask_socketio”的模块。。 在Azure中部署之前,我已经设置了虚拟环境并正确安装了所有包。我正在使用Azure-CLI部署应用程序。我已经在配置中打开了web套接字选项,并在Python 3.8上运行了我的应用程序。 出于测试目的,我部署了一个Smiple Flask应用程序,它已成功部署并正在运行

我的项目的Github链接:FlaskWebcam

错误日志:

Starting Live Log Stream ---

2020-09-13T19:56:18.960Z INFO  - Starting container for site
2020-09-13T19:56:18.963Z INFO  - docker run -d -p 9708:8000 --name inverseflask_0_16637254 -e WEBSITE_SITE_NAME=InverseFlask -e WEBSITE_AUTH_ENABLED=False -e WEBSITE_ROLE_INSTANCE_ID=0 -e WEBSITE_HOSTNAME=inverseflask.azurewebsites.net -e WEBSITE_INSTANCE_ID=26433a6b0a3346c389469a9d486d0892e34237dd74d5333601dda5fe35c941b8 -e HTTP_LOGGING_ENABLED=1 appsvc/python:3.8_20200707.6
2020-09-13T19:56:22.884Z INFO  - Initiating warmup request to container inverseflask_0_16637254 for site inverseflask
2020-09-13T19:56:38.900Z INFO  - Waiting for response to warmup request for container inverseflask_0_16637254. Elapsed time = 16.0166497 sec
2020-09-13T19:56:21.995899368Z
2020-09-13T19:56:21.995956370Z   _____
2020-09-13T19:56:21.995966670Z   /  _  \ __________ _________   ____
2020-09-13T19:56:21.995974271Z  /  /_\  \___   /  |  \_  __ \_/ __ \
2020-09-13T19:56:21.995981571Z /    |    \/    /|  |  /|  | \/\  ___/
2020-09-13T19:56:21.995988971Z \____|__  /_____ \____/ |__|    \___  >
2020-09-13T19:56:21.995996371Z         \/      \/                  \/
2020-09-13T19:56:22.001078169Z
2020-09-13T19:56:22.001105870Z A P P   S E R V I C E   O N   L I N U X
2020-09-13T19:56:22.001114471Z
2020-09-13T19:56:22.001121571Z Documentation: http://aka.ms/webapp-linux
2020-09-13T19:56:22.001128571Z Python 3.8.3
2020-09-13T19:56:22.001251176Z Note: Any data outside '/home' is not persisted
2020-09-13T19:56:22.182082317Z Starting OpenBSD Secure Shell server: sshd.
2020-09-13T19:56:22.229719372Z App Command Line not configured, will attempt auto-detect
2020-09-13T19:56:22.230599206Z Launching oryx with: create-script -appPath /home/site/wwwroot -output /opt/startup/startup.sh -virtualEnvName antenv -defaultApp /opt/defaultsite
2020-09-13T19:56:22.323448922Z Found build manifest file at '/home/site/wwwroot/oryx-manifest.toml'. Deserializing it...
2020-09-13T19:56:22.329158744Z Build Operation ID: |Y6gr/BhPUcQ=.36185211_
2020-09-13T19:56:22.330353391Z Oryx Version: 0.2.20200706.2, Commit: 42be45d884938c3c818ba08e9e4760b1136fd9b3, ReleaseTagName: 20200706.2
2020-09-13T19:56:23.087122158Z Detected an app based on Flask
2020-09-13T19:56:23.344716588Z Generating `gunicorn` command for 'application:app'
2020-09-13T19:56:23.837293868Z Writing output script to '/opt/startup/startup.sh'
2020-09-13T19:56:24.399410856Z Found virtual environment .tar.gz archive.
2020-09-13T19:56:24.400232088Z Removing existing virtual environment directory /antenv...
2020-09-13T19:56:24.419407435Z Extracting to directory /antenv...
2020-09-13T19:56:46.138875734Z Using packages from virtual environment antenv located at /antenv.
2020-09-13T19:56:46.145147100Z Updated PYTHONPATH to ':/antenv/lib/python3.8/site-packages'
2020-09-13T19:56:48.737945237Z [2020-09-13 19:56:48 +0000] [41] [INFO] Starting gunicorn 20.0.4
2020-09-13T19:56:48.742939236Z [2020-09-13 19:56:48 +0000] [41] [INFO] Listening at: http://0.0.0.0:8000 (41)
2020-09-13T19:56:48.743827471Z [2020-09-13 19:56:48 +0000] [41] [INFO] Using worker: sync
2020-09-13T19:56:48.756394071Z [2020-09-13 19:56:48 +0000] [43] [INFO] Booting worker with pid: 43
2020-09-13T19:56:49.372391696Z [2020-09-13 19:56:49 +0000] [43] [ERROR] Exception in worker process
2020-09-13T19:56:49.372452399Z Traceback (most recent call last):
2020-09-13T19:56:49.372464099Z   File "/opt/python/3.8.3/lib/python3.8/site-packages/gunicorn/arbiter.py", line 583, in spawn_worker
2020-09-13T19:56:49.372502201Z     worker.init_process()
2020-09-13T19:56:49.372511001Z   File "/opt/python/3.8.3/lib/python3.8/site-packages/gunicorn/workers/base.py", line 119, in init_process
2020-09-13T19:56:49.372518901Z     self.load_wsgi()
2020-09-13T19:56:49.372526102Z   File "/opt/python/3.8.3/lib/python3.8/site-packages/gunicorn/workers/base.py", line 144, in load_wsgi
2020-09-13T19:56:49.372533802Z     self.wsgi = self.app.wsgi()
2020-09-13T19:56:49.372540902Z   File "/opt/python/3.8.3/lib/python3.8/site-packages/gunicorn/app/base.py", line 67, in wsgi
2020-09-13T19:56:49.372548402Z     self.callable = self.load()
2020-09-13T19:56:49.372555403Z   File "/opt/python/3.8.3/lib/python3.8/site-packages/gunicorn/app/wsgiapp.py", line 49, in load
2020-09-13T19:56:49.372563003Z     return self.load_wsgiapp()
2020-09-13T19:56:49.372570103Z   File "/opt/python/3.8.3/lib/python3.8/site-packages/gunicorn/app/wsgiapp.py", line 39, in load_wsgiapp
2020-09-13T19:56:49.372577604Z     return util.import_app(self.app_uri)
2020-09-13T19:56:49.372584604Z   File "/opt/python/3.8.3/lib/python3.8/site-packages/gunicorn/util.py", line 358, in import_app
2020-09-13T19:56:49.372591904Z     mod = importlib.import_module(module)
2020-09-13T19:56:49.372598904Z   File "/opt/python/3.8.3/lib/python3.8/importlib/__init__.py", line 127, in import_module
2020-09-13T19:56:49.372606505Z     return _bootstrap._gcd_import(name[level:], package, level)
2020-09-13T19:56:49.372613605Z   File "<frozen importlib._bootstrap>", line 1014, in _gcd_import
2020-09-13T19:56:49.372622005Z   File "<frozen importlib._bootstrap>", line 991, in _find_and_load
2020-09-13T19:56:49.372629606Z   File "<frozen importlib._bootstrap>", line 975, in _find_and_load_unlocked
2020-09-13T19:56:49.372637306Z   File "<frozen importlib._bootstrap>", line 671, in _load_unlocked
2020-09-13T19:56:49.372644706Z   File "<frozen importlib._bootstrap_external>", line 783, in exec_module
2020-09-13T19:56:49.372652207Z   File "<frozen importlib._bootstrap>", line 219, in _call_with_frames_removed
2020-09-13T19:56:49.372659707Z   File "/home/site/wwwroot/application.py", line 4, in <module>
2020-09-13T19:56:49.372667207Z     from flask_socketio import SocketIO
2020-09-13T19:56:49.372674407Z ModuleNotFoundError: No module named 'flask_socketio'
2020-09-13T19:56:49.380001099Z [2020-09-13 19:56:49 +0000] [43] [INFO] Worker exiting (pid: 43)
2020-09-13T19:56:49.465561206Z [2020-09-13 19:56:49 +0000] [41] [INFO] Shutting down: Master
2020-09-13T19:56:49.466915059Z [2020-09-13 19:56:49 +0000] [41] [INFO] Reason: Worker failed to boot.
2020-09-13T19:56:54.880Z ERROR - Container inverseflask_0_16637254 for site inverseflask has exited, failing site start
2020-09-13T19:56:54.893Z ERROR - Container inverseflask_0_16637254 didn't respond to HTTP pings on port: 8000, failing site start. See container logs for debugging.
2020-09-13T19:56:54.903Z INFO  - Stopping site inverseflask because it failed during startup.


Tags: inpyinfoappforlibpackagesline
2条回答

值得一提的是,我正在尝试做一些非常相似的事情。看来我能够在webapp上安装flask_socketio。我主要遵循以下教程:Create a Python app in Azure App Service on Linux。话虽如此,我首先在requirements.txt中包含了这一行:flask_socketio==4.3.1,但我得到了您的错误。然后,我将它安装到本地python虚拟环境中(pip install flask_socketio==4.3.1),在重新部署之后,这似乎修复了错误

不过,我还是犯了一个错误。在浏览器的网络选项卡中,我看到了,例如:index.js:83 POSThttps://.azurewebsites.net/socket.io/?EIO=3&运输=投票及;t=NITSD38&;sid=0439a49c525247a79bf2b80792ba2636 400(错误请求)

根据您的描述,您似乎已经安装了此模块,但我想知道您是如何部署它的?在正常情况下,我们需要一个名为requirements.txt的文件来安装依赖的软件包。在本地安装是没有用的。它还需要在requirements.txt中指定,然后部署

看看这个:

https://docs.microsoft.com/en-us/azure/devops/pipelines/ecosystems/python-webapp?view=azure-devops

相关问题 更多 >