我认为将python api项目部署到某个地方很容易。 但我错了,我不能部署到任何平台
到目前为止,我已经尝试:
当我尝试为这一个安装依赖项包时,它们都有问题:
scikit-fmm
以下是错误消息:
Python版本是 3.7.10 Linux
pip install scikit-fmm
Collecting scikit-fmm
Using cached scikit-fmm-2021.2.2.tar.gz (419 kB)
Requirement already satisfied: numpy>=1.0.2 in /usr/local/lib/python3.7/site-packages (from scikit-fmm) (1.18.1)
Building wheels for collected packages: scikit-fmm
Building wheel for scikit-fmm (setup.py) ... error
ERROR: Command errored out with exit status 1:
command: /usr/local/bin/python -u -c 'import sys, setuptools, tokenize; sys.argv[0] = '"'"'/tmp/pip-install-bihhvskj/scikit-fmm_13c74930cf4a4cfc949e4a3e9
d5f6e54/setup.py'"'"'; __file__='"'"'/tmp/pip-install-bihhvskj/scikit-fmm_13c74930cf4a4cfc949e4a3e9d5f6e54/setup.py'"'"';f=getattr(tokenize, '"'"'open'"'"',
open)(__file__);code=f.read().replace('"'"'\r\n'"'"', '"'"'\n'"'"');f.close();exec(compile(code, __file__, '"'"'exec'"'"'))' bdist_wheel -d /tmp/pip-wheel-
5ebu19pu
cwd: /tmp/pip-install-bihhvskj/scikit-fmm_13c74930cf4a4cfc949e4a3e9d5f6e54/
Complete output (32 lines):
running bdist_wheel
running build
running config_cc
unifing config_cc, config, build_clib, build_ext, build commands --compiler options
running config_fc
unifing config_fc, config, build_clib, build_ext, build commands --fcompiler options
running build_src
build_src
building extension "skfmm.cfmm" sources
building extension "skfmm.pheap" sources
build_src: building npy-pkg config files
running build_py
creating build
creating build/lib.linux-x86_64-3.7
creating build/lib.linux-x86_64-3.7/skfmm
copying skfmm/pfmm.py -> build/lib.linux-x86_64-3.7/skfmm
copying skfmm/setup.py -> build/lib.linux-x86_64-3.7/skfmm
copying skfmm/heap.py -> build/lib.linux-x86_64-3.7/skfmm
copying skfmm/__init__.py -> build/lib.linux-x86_64-3.7/skfmm
running build_ext
customize UnixCCompiler
customize UnixCCompiler using build_ext
customize UnixCCompiler
customize UnixCCompiler using build_ext
building 'skfmm.cfmm' extension
compiling C++ sources
C compiler: g++ -pthread -Wno-unused-result -Wsign-compare -DNDEBUG -g -fwrapv -O3 -Wall -fPIC
creating build/temp.linux-x86_64-3.7/skfmm
compile options: '-Iskfmm -I/usr/local/lib/python3.7/site-packages/numpy/core/include -I/usr/local/include/python3.7m -c'
g++: skfmm/fmm.cpp
error: Command "g++ -pthread -Wno-unused-result -Wsign-compare -DNDEBUG -g -fwrapv -O3 -Wall -fPIC -Iskfmm -I/usr/local/lib/python3.7/site-packages/numpy/
core/include -I/usr/local/include/python3.7m -c skfmm/fmm.cpp -o build/temp.linux-x86_64-3.7/skfmm/fmm.o -MMD -MF build/temp.linux-x86_64-3.7/skfmm/fmm.o.d"
failed with exit status 127
----------------------------------------
ERROR: Failed building wheel for scikit-fmm
Running setup.py clean for scikit-fmm
Failed to build scikit-fmm
Installing collected packages: scikit-fmm
Running setup.py install for scikit-fmm ... error
ERROR: Command errored out with exit status 1:
command: /usr/local/bin/python -u -c 'import sys, setuptools, tokenize; sys.argv[0] = '"'"'/tmp/pip-install-bihhvskj/scikit-fmm_13c74930cf4a4cfc949e4a3
e9d5f6e54/setup.py'"'"'; __file__='"'"'/tmp/pip-install-bihhvskj/scikit-fmm_13c74930cf4a4cfc949e4a3e9d5f6e54/setup.py'"'"';f=getattr(tokenize, '"'"'open'"'"
', open)(__file__);code=f.read().replace('"'"'\r\n'"'"', '"'"'\n'"'"');f.close();exec(compile(code, __file__, '"'"'exec'"'"'))' install --record /tmp/pip-re
cord-gku3heb3/install-record.txt --single-version-externally-managed --compile --install-headers /usr/local/include/python3.7m/scikit-fmm
cwd: /tmp/pip-install-bihhvskj/scikit-fmm_13c74930cf4a4cfc949e4a3e9d5f6e54/
Complete output (28 lines):
Note: if you need to uninstall you should `pip install scikit-fmm` instead of using `setup.py install`
running install
running build
running config_cc
unifing config_cc, config, build_clib, build_ext, build commands --compiler options
running config_fc
unifing config_fc, config, build_clib, build_ext, build commands --fcompiler options
running build_src
build_src
building extension "skfmm.cfmm" sources
building extension "skfmm.pheap" sources
build_src: building npy-pkg config files
running build_py
running build_ext
customize UnixCCompiler
customize UnixCCompiler using build_ext
customize UnixCCompiler
customize UnixCCompiler using build_ext
building 'skfmm.cfmm' extension
compiling C++ sources
C compiler: g++ -pthread -Wno-unused-result -Wsign-compare -DNDEBUG -g -fwrapv -O3 -Wall -fPIC
creating build/temp.linux-x86_64-3.7/skfmm
compile options: '-Iskfmm -I/usr/local/lib/python3.7/site-packages/numpy/core/include -I/usr/local/include/python3.7m -c'
g++: skfmm/fmm.cpp
error: Command "g++ -pthread -Wno-unused-result -Wsign-compare -DNDEBUG -g -fwrapv -O3 -Wall -fPIC -Iskfmm -I/usr/local/lib/python3.7/site-packages/nump
y/core/include -I/usr/local/include/python3.7m -c skfmm/fmm.cpp -o build/temp.linux-x86_64-3.7/skfmm/fmm.o -MMD -MF build/temp.linux-x86_64-3.7/skfmm/fmm.o.
d" failed with exit status 127
----------------------------------------
ERROR: Command errored out with exit status 1: /usr/local/bin/python -u -c 'import sys, setuptools, tokenize; sys.argv[0] = '"'"'/tmp/pip-install-bihhvskj/s
cikit-fmm_13c74930cf4a4cfc949e4a3e9d5f6e54/setup.py'"'"'; __file__='"'"'/tmp/pip-install-bihhvskj/scikit-fmm_13c74930cf4a4cfc949e4a3e9d5f6e54/setup.py'"'"';
f=getattr(tokenize, '"'"'open'"'"', open)(__file__);code=f.read().replace('"'"'\r\n'"'"', '"'"'\n'"'"');f.close();exec(compile(code, __file__, '"'"'exec'"'"
'))' install --record /tmp/pip-record-gku3heb3/install-record.txt --single-version-externally-managed --compile --install-headers /usr/local/include/python3
.7m/scikit-fmm Check the logs for full command output.
更新1
感谢JasonPan的建议,我知道Azure web app上安装了所有依赖项
我的应用程序部署也成功,但网站无法运行。 我检查了日志,发现了许多错误:
2021-04-22T07:44:09.836453360Z [2021-04-22 07:44:09 +0000] [78] [ERROR] Retrying in 1 second.
2021-04-22T07:44:10.838153643Z [2021-04-22 07:44:10 +0000] [78] [ERROR] Connection in use: ('0.0.0.0', 8000)
2021-04-22T07:44:10.839051770Z [2021-04-22 07:44:10 +0000] [78] [ERROR] Retrying in 1 second.
2021-04-22T07:44:11.840184035Z [2021-04-22 07:44:11 +0000] [78] [ERROR] Can't connect to ('0.0.0.0', 8000)
2021-04-22T07:44:11.892574745Z [2021-04-22 07:44:11 +0000] [77] [INFO] Worker exiting (pid: 77)
2021-04-22T07:44:12.375216277Z [2021-04-22 07:44:12 +0000] [80] [INFO] Booting worker with pid: 80
2021-04-22T07:44:15.438983261Z * Serving Flask app "app" (lazy loading)
2021-04-22T07:44:15.445347462Z * Environment: production
2021-04-22T07:44:15.486186353Z WARNING: This is a development server. Do not use it in a production deployment.
2021-04-22T07:44:15.486284356Z Use a production WSGI server instead.
2021-04-22T07:44:15.486294356Z * Debug mode: on
2021-04-22T07:44:15.486487762Z * Running on http://127.0.0.1:5000/ (Press CTRL+C to quit)
2021-04-22T07:44:15.486499263Z * Restarting with stat
2021-04-22T07:44:16.191646039Z [2021-04-22 07:44:16 +0000] [81] [INFO] Starting gunicorn 20.0.4
2021-04-22T07:44:16.192867778Z [2021-04-22 07:44:16 +0000] [81] [ERROR] Connection in use: ('0.0.0.0', 8000)
2021-04-22T07:44:16.193252490Z [2021-04-22 07:44:16 +0000] [81] [ERROR] Retrying in 1 second.
2021-04-22T07:44:17.198116636Z [2021-04-22 07:44:17 +0000] [81] [ERROR] Connection in use: ('0.0.0.0', 8000)
2021-04-22T07:44:17.198923561Z [2021-04-22 07:44:17 +0000] [81] [ERROR] Retrying in 1 second.
2021-04-22T07:44:18.202126554Z [2021-04-22 07:44:18 +0000] [81] [ERROR] Connection in use: ('0.0.0.0', 8000)
2021-04-22T07:44:18.202984981Z [2021-04-22 07:44:18 +0000] [81] [ERROR] Retrying in 1 second.
2021-04-22T07:44:19.205241244Z [2021-04-22 07:44:19 +0000] [81] [ERROR] Connection in use: ('0.0.0.0', 8000)
2021-04-22T07:44:19.206164874Z [2021-04-22 07:44:19 +0000] [81] [ERROR] Retrying in 1 second.
2021-04-22T07:44:20.212049651Z [2021-04-22 07:44:20 +0000] [81] [ERROR] Connection in use: ('0.0.0.0', 8000)
2021-04-22T07:44:20.212092253Z [2021-04-22 07:44:20 +0000] [81] [ERROR] Retrying in 1 second.
2021-04-22T07:44:21.224597387Z [2021-04-22 07:44:21 +0000] [81] [ERROR] Can't connect to ('0.0.0.0', 8000)
2021-04-22T07:44:21.290608046Z [2021-04-22 07:44:21 +0000] [80] [INFO] Worker exiting (pid: 80)
2021-04-22T07:44:21.738321231Z [2021-04-22 07:44:21 +0000] [83] [INFO] Booting worker with pid: 83
2021-04-22T07:44:24.918365696Z * Serving Flask app "app" (lazy loading)
2021-04-22T07:44:24.919426527Z * Environment: production
2021-04-22T07:44:24.927208058Z WARNING: This is a development server. Do not use it in a production deployment.
2021-04-22T07:44:24.927297361Z Use a production WSGI server instead.
2021-04-22T07:44:24.927308061Z * Debug mode: on
2021-04-22T07:44:24.946942144Z * Running on http://127.0.0.1:5000/ (Press CTRL+C to quit)
2021-04-22T07:44:24.948477689Z * Restarting with stat
2021-04-22T07:44:25.709049858Z [2021-04-22 07:44:25 +0000] [84] [INFO] Starting gunicorn 20.0.4
2021-04-22T07:44:25.710487501Z [2021-04-22 07:44:25 +0000] [84] [ERROR] Connection in use: ('0.0.0.0', 8000)
2021-04-22T07:44:25.710858112Z [2021-04-22 07:44:25 +0000] [84] [ERROR] Retrying in 1 second.
2021-04-22T07:44:26.714606897Z [2021-04-22 07:44:26 +0000] [84] [ERROR] Connection in use: ('0.0.0.0', 8000)
2021-04-22T07:44:26.715566625Z [2021-04-22 07:44:26 +0000] [84] [ERROR] Retrying in 1 second.
2021-04-22T07:44:27.720325541Z [2021-04-22 07:44:27 +0000] [84] [ERROR] Connection in use: ('0.0.0.0', 8000)
2021-04-22T07:44:27.721384572Z [2021-04-22 07:44:27 +0000] [84] [ERROR] Retrying in 1 second.
2021-04-22T07:44:28.723318203Z [2021-04-22 07:44:28 +0000] [84] [ERROR] Connection in use: ('0.0.0.0', 8000)
2021-04-22T07:44:28.724247231Z [2021-04-22 07:44:28 +0000] [84] [ERROR] Retrying in 1 second.
2021-04-22T07:44:29.729845005Z [2021-04-22 07:44:29 +0000] [84] [ERROR] Connection in use: ('0.0.0.0', 8000)
2021-04-22T07:44:29.729874606Z [2021-04-22 07:44:29 +0000] [84] [ERROR] Retrying in 1 second.
2021-04-22T07:44:30.737813594Z [2021-04-22 07:44:30 +0000] [84] [ERROR] Can't connect to ('0.0.0.0', 8000)
2021-04-22T07:44:30.856350361Z [2021-04-22 07:44:30 +0000] [83] [INFO] Worker exiting (pid: 83)
2021-04-22T07:44:31.803916981Z [2021-04-22 07:44:31 +0000] [86] [INFO] Booting worker with pid: 86
2021-04-22T07:44:35.656121474Z * Serving Flask app "app" (lazy loading)
2021-04-22T07:44:35.657028702Z * Environment: production
2021-04-22T07:44:35.657041702Z WARNING: This is a development server. Do not use it in a production deployment.
2021-04-22T07:44:35.657838227Z Use a production WSGI server instead.
2021-04-22T07:44:35.664767041Z * Debug mode: on
2021-04-22T07:44:35.694054348Z * Running on http://127.0.0.1:5000/ (Press CTRL+C to quit)
2021-04-22T07:44:35.695509793Z * Restarting with stat
2021-04-22T07:44:36.453792055Z [2021-04-22 07:44:36 +0000] [87] [INFO] Starting gunicorn 20.0.4
2021-04-22T07:44:36.461107781Z [2021-04-22 07:44:36 +0000] [87] [ERROR] Connection in use: ('0.0.0.0', 8000)
2021-04-22T07:44:36.461484393Z [2021-04-22 07:44:36 +0000] [87] [ERROR] Retrying in 1 second.
2021-04-22T07:44:37.468035639Z [2021-04-22 07:44:37 +0000] [87] [ERROR] Connection in use: ('0.0.0.0', 8000)
2021-04-22T07:44:37.469176575Z [2021-04-22 07:44:37 +0000] [87] [ERROR] Retrying in 1 second.
2021-04-22T07:44:38.474207365Z [2021-04-22 07:44:38 +0000] [87] [ERROR] Connection in use: ('0.0.0.0', 8000)
2021-04-22T07:44:38.475101293Z [2021-04-22 07:44:38 +0000] [87] [ERROR] Retrying in 1 second.
2021-04-22T07:44:39.480162485Z [2021-04-22 07:44:39 +0000] [87] [ERROR] Connection in use: ('0.0.0.0', 8000)
2021-04-22T07:44:39.481085413Z [2021-04-22 07:44:39 +0000] [87] [ERROR] Retrying in 1 second.
2021-04-22T07:44:40.486103803Z [2021-04-22 07:44:40 +0000] [87] [ERROR] Connection in use: ('0.0.0.0', 8000)
2021-04-22T07:44:40.487006832Z [2021-04-22 07:44:40 +0000] [87] [ERROR] Retrying in 1 second.
2021-04-22T07:44:41.492332131Z [2021-04-22 07:44:41 +0000] [87] [ERROR] Can't connect to ('0.0.0.0', 8000)
2021-04-22T07:44:41.557393470Z [2021-04-22 07:44:41 +0000] [86] [INFO] Worker exiting (pid: 86)
2021-04-22T07:44:42.033036773Z [2021-04-22 07:44:42 +0000] [89] [INFO] Booting worker with pid: 89
2021-04-22T07:44:45.214064517Z * Serving Flask app "app" (lazy loading)
2021-04-22T07:44:45.214945645Z * Environment: production
2021-04-22T07:44:45.215503462Z WARNING: This is a development server. Do not use it in a production deployment.
2021-04-22T07:44:45.221783155Z Use a production WSGI server instead.
2021-04-22T07:44:45.221798256Z * Debug mode: on
2021-04-22T07:44:45.243216415Z * Running on http://127.0.0.1:5000/ (Press CTRL+C to quit)
2021-04-22T07:44:45.251290463Z * Restarting with stat
2021-04-22T07:44:46.019374903Z [2021-04-22 07:44:46 +0000] [90] [INFO] Starting gunicorn 20.0.4
2021-04-22T07:44:46.026407319Z [2021-04-22 07:44:46 +0000] [90] [ERROR] Connection in use: ('0.0.0.0', 8000)
2021-04-22T07:44:46.026422620Z [2021-04-22 07:44:46 +0000] [90] [ERROR] Retrying in 1 second.
2021-04-22T07:44:47.031561655Z [2021-04-22 07:44:47 +0000] [90] [ERROR] Connection in use: ('0.0.0.0', 8000)
2021-04-22T07:44:47.032497484Z [2021-04-22 07:44:47 +0000] [90] [ERROR] Retrying in 1 second.
2021-04-22T07:44:48.035110541Z [2021-04-22 07:44:48 +0000] [90] [ERROR] Connection in use: ('0.0.0.0', 8000)
2021-04-22T07:44:48.035988968Z [2021-04-22 07:44:48 +0000] [90] [ERROR] Retrying in 1 second.
2021-04-22T07:44:49.040344579Z [2021-04-22 07:44:49 +0000] [90] [ERROR] Connection in use: ('0.0.0.0', 8000)
2021-04-22T07:44:49.041809624Z [2021-04-22 07:44:49 +0000] [90] [ERROR] Retrying in 1 second.
2021-04-22T07:44:50.042151212Z [2021-04-22 07:44:50 +0000] [90] [ERROR] Connection in use: ('0.0.0.0', 8000)
2021-04-22T07:44:50.045851326Z [2021-04-22 07:44:50 +0000] [90] [ERROR] Retrying in 1 second.
2021-04-22T07:44:51.064407674Z [2021-04-22 07:44:51 +0000] [90] [ERROR] Can't connect to ('0.0.0.0', 8000)
2021-04-22T07:44:51.114340611Z [2021-04-22 07:44:51 +0000] [89] [INFO] Worker exiting (pid: 89)
2021-04-22T07:44:51.546058198Z [2021-04-22 07:44:51 +0000] [92] [INFO] Booting worker with pid: 92
2021-04-22T07:44:54.704747927Z * Serving Flask app "app" (lazy loading)
2021-04-22T07:44:54.764574498Z * Environment: production
2021-04-22T07:44:54.764595098Z WARNING: This is a development server. Do not use it in a production deployment.
2021-04-22T07:44:54.764601098Z Use a production WSGI server instead.
2021-04-22T07:44:54.764604898Z * Debug mode: on
2021-04-22T07:44:54.764659100Z * Running on http://127.0.0.1:5000/ (Press CTRL+C to quit)
2021-04-22T07:44:54.764668000Z * Restarting with stat
2021-04-22T07:44:55.487360391Z [2021-04-22 07:44:55 +0000] [93] [INFO] Starting gunicorn 20.0.4
2021-04-22T07:44:55.494123403Z [2021-04-22 07:44:55 +0000] [93] [ERROR] Connection in use: ('0.0.0.0', 8000)
2021-04-22T07:44:55.495235437Z [2021-04-22 07:44:55 +0000] [93] [ERROR] Retrying in 1 second.
搜索了一会儿并尝试了我在网上找到的fuser
或kill
命令,但fuser
在Web app上无法识别,并且kill
命令无法处理此错误消息:
/home# kill `lsof -i :8000`
-bash: lsof: command not found
kill: usage: kill [-s sigspec | -n signum | -sigspec] pid | jobspec ... or kill -l
更新2
使用以下命令:
gunicorn--bind=0.0.0.0--timeout 600应用程序:应用程序
这是输出
ut 600 application:app18b:/tmp/8d90556500a845d# gunicorn --bind=0.0.0.0 --timeou
[2021-04-23 07:30:39 +0000] [93] [INFO] Starting gunicorn 20.0.4
[2021-04-23 07:30:39 +0000] [93] [ERROR] Connection in use: ('0.0.0.0', 8000)
[2021-04-23 07:30:39 +0000] [93] [ERROR] Retrying in 1 second.
[2021-04-23 07:30:40 +0000] [93] [ERROR] Connection in use: ('0.0.0.0', 8000)
[2021-04-23 07:30:40 +0000] [93] [ERROR] Retrying in 1 second.
[2021-04-23 07:30:41 +0000] [93] [ERROR] Connection in use: ('0.0.0.0', 8000)
[2021-04-23 07:30:41 +0000] [93] [ERROR] Retrying in 1 second.
[2021-04-23 07:30:42 +0000] [93] [ERROR] Connection in use: ('0.0.0.0', 8000)
[2021-04-23 07:30:42 +0000] [93] [ERROR] Retrying in 1 second.
[2021-04-23 07:30:43 +0000] [93] [ERROR] Connection in use: ('0.0.0.0', 8000)
[2021-04-23 07:30:43 +0000] [93] [ERROR] Retrying in 1 second.
[2021-04-23 07:30:44 +0000] [93] [ERROR] Can't connect to ('0.0.0.0', 8000)
在高级工具下使用Azure app SSH,真是太痛苦了。 我的ssh控制台经常断开连接,有时它会为我找到正确的文件夹,然后我可以看到我的python代码文件。有时它会显示一个奇怪的文件夹,里面根本没有我的代码。。。。 e、 g
root@ece8fefe856f:/home# ls
37391ef6fffba0c96cda20c7 ASP.NET LogFiles site
您可以选择通过Heroku Docker注册表在本地构建映像并(测试后)将其推送到Heroku进行部署。优点是您可以控制构建(而不是Heroku)
定义Python应用程序的Dockerfile(下面的示例)
本地构建映像(使用Heroky要求的命名约定,即appname)
图像应包含您的应用程序以及您需要的所有依赖项/模型。您可以使用
docker run
在本地测试这一点按下并释放图像:
g++命令的127状态代码表明g++未安装在您尝试安装的平台上。在所有平台上都会出现相同的错误吗
更新
测试之后,由于
scikit-fmm
的最新版本与azure web app不兼容,我使用了scikit-fmm==2021.1.21
版本。它对我有用感谢Glenn的提醒,您可以在WebSh中使用下面的cmd
以前的
不知道需要在requirements.txt中安装哪些软件包
我个人建议您使用容器(linux)创建azure web app,以便您可以在部署项目后手动执行脚本以安装项目使用的软件包
我没有在Linux下部署flask应用程序。如果您可以使用windows,我建议您使用windows webapp
你可以在下面的帖子中参考我的答案。
How to deploy a Flask+React application to Azure Web Service
相关问题 更多 >
编程相关推荐