问题遇到的现象和发生背景
非windows 虚拟机 真实服务器供应商的VPS上部署Flask 项目 创建虚拟环境 pip install uwsgi 报错
CentOS Linux release 7.9.2009 (Core)
3.10.0-1160.62.1.el7.x86_64
x86_64
问题相关代码,请勿粘贴截图
sudo -i
yum -y update
yum -y install make gcc gcc-c++ zlib* libtool openssl openssl-devel libffi-devel wget pcre pcre-devel libssl-dev
cd /usr/local/src
wget https://www.openssl.org/source/openssl-1.1.1n.tar.gz
tar -zxvf openssl-1.1.1n.tar.gz
cd openssl-1.1.1n
./config --prefix=/usr/local/openssl
make && make install
mv /usr/bin/openssl /usr/bin/openssl.bak
mv /usr/include/openssl/ /usr/include/openssl.bak
mv /usr/lib64/openssl /usr/lib64/openssl.bak
mv /usr/lib64/libssl.so /usr/lib64/libssl.so.bak
ln -s /usr/local/openssl/include/openssl /usr/include/openssl
ln -s /usr/local/openssl/lib/libssl.so.1.1 /usr/local/lib64/libssl.so
ln -s /usr/local/openssl/bin/openssl /usr/bin/openssl
ln -s /usr/local/openssl/lib/libssl.so /usr/lib64/libssl.so
echo "/usr/local/openssl/lib" >> /etc/ld.so.conf
cd /usr/local/src
wget https://www.python.org/ftp/python/3.10.1/Python-3.10.1.tgz
tar -zxvf Python-3.10.1.tgz
cd Python-3.10.1
./configure --prefix=/usr/local/python3 --with-openssl=/usr/local/openssl
make && make altinstall
ln -s /usr/local/python3/bin/python3.10 /usr/bin/python3.10
source /etc/profile
yum install python-devel
mkdir -p /YNYPHKJ/Web/Flask/xxx.com
cd /YNYPHKJ/Web/Flask/xxx.com
python3.10 -m venv venv
source venv/bin/activate
pip install Flask
以上是安装软件 当安装到uwsgi 时报下面的错误
运行结果及报错内容
pip install uwsgi
Collecting uwsgi
Downloading uwsgi-2.0.20.tar.gz (804 kB)
Using legacy 'setup.py install' for uwsgi, since package 'wheel' is not installed.
Installing collected packages: uwsgi
Running setup.py install for uwsgi ... error
ERROR: Command errored out with exit status 1:
command: /YNYPHKJ/Web/Flask/xxx.com/venv/bin/python -u -c 'import io, os, sys, setuptools, tokenize; sys.argv[0] = '"'"'/tmp/pip-install-chnksn9t/uwsgi_5568cdb832af4dbfaa4df2af3c4886f4/setup.py'"'"'; __file__='"'"'/tmp/pip-install-chnksn9t/uwsgi_5568cdb832af4dbfaa4df2af3c4886f4/setup.py'"'"';f = getattr( tokenize, '"'"'open'"'"', open)(__file__) if os.path.exists(__file__) else io.StringIO('"'"'from setuptools import setup; setup()'"'"');code = f.read().replace('"'"'\r\n'"'"', '"'"'\n'"'"');f.close();exec(compile(code, __file__, '"'"'exec'"'"'))' install --record /tmp/pip-record-n_fh5b4d/install-record.txt --single-version-externally-managed --compile --install-headers /YNYPHKJ/Web/Flask/xxx.com/venv/include/site/python3.10/uwsgi
cwd: /tmp/pip-install-chnksn9t/uwsgi_5568cdb832af4dbfaa4df2af3c4886f4/
Complete output (154 lines):
/usr/local/src/Python-3.10.1/Lib/distutils/dist.py:274: UserWarning: Unknown distribution option: 'descriptions'
warnings.warn(msg)
running install
using profile: buildconf/default.ini
detected include path: ['/usr/lib/gcc/x86_64-redhat-linux/4.8.5/include', '/usr/local/include', '/usr/include']
Patching "bin_name" to properly install_scripts dir
detected CPU cores: 2
configured CFLAGS: -O2 -I. -Wall -D_LARGEFILE_SOURCE -D_FILE_OFFSET_BITS=64 -Wextra -Wno-unused-parameter -Wno-missing-field-initializers -Wno-format -Wno-format-security -DUWSGI_HAS_IFADDRS -DUWSGI_ZLIB-DUWSGI_LOCK_USE_MUTEX -DUWSGI_EVENT_USE_EPOLL -DUWSGI_EVENT_TIMER_USE_TIMERFD -DUWSGI_EVENT_FILEMONITOR_USE_INOTIFY -DUWSGI_PCRE -DUWSGI_ROUTING -DUWSGI_VERSION="\"2.0.20\"" -DUWSGI_VERSION_BASE="2" -DUWSGI_VERSION_MAJOR="0" -DUWSGI_VERSION_MINOR="20" -DUWSGI_VERSION_REVISION="0" -DUWSGI_VERSION_CUSTOM="\"\""-DUWSGI_YAML -DUWSGI_SSL -DUWSGI_PLUGIN_DIR="\".\"" -DUWSGI_DECLARE_EMBEDDED_PLUGINS="UDEP(python);UDEP(gevent);UDEP(ping);UDEP(cache);UDEP(nagios);UDEP(rrdtool);UDEP(carbon);UDEP(rpc);UDEP(corerouter);UDEP(fastrouter);UDEP(http);UDEP(ugreen);UDEP(signal);UDEP(syslog);UDEP(rsyslog);UDEP(logsocket);UDEP(router_uwsgi);UDEP(router_redirect);UDEP(router_basicauth);UDEP(zergpool);UDEP(redislog);UDEP(mongodblog);UDEP(router_rewrite);UDEP(router_http);UDEP(logfile);UDEP(router_cache);UDEP(rawrouter);UDEP(router_static);UDEP(sslrouter);UDEP(spooler);UDEP(cheaper_busyness);UDEP(symcall);UDEP(transformation_tofile);UDEP(transformation_gzip);UDEP(transformation_chunked);UDEP(transformation_offload);UDEP(router_memcached);UDEP(router_redis);UDEP(router_hash);UDEP(router_expires);UDEP(router_metrics);UDEP(transformation_template);UDEP(stats_pusher_socket);" -DUWSGI_LOAD_EMBEDDED_PLUGINS="ULEP(python);ULEP(gevent);ULEP(ping);ULEP(cache);ULEP(nagios);ULEP(rrdtool);ULEP(carbon);ULEP(rpc);ULEP(corerouter);ULEP(fastrouter);ULEP(http);ULEP(ugreen);ULEP(signal);ULEP(syslog);ULEP(rsyslog);ULEP(logsocket);ULEP(router_uwsgi);ULEP(router_redirect);ULEP(router_basicauth);ULEP(zergpool);ULEP(redislog);ULEP(mongodblog);ULEP(router_rewrite);ULEP(router_http);ULEP(logfile);ULEP(router_cache);ULEP(rawrouter);ULEP(router_static);ULEP(sslrouter);ULEP(spooler);ULEP(cheaper_busyness);ULEP(symcall);ULEP(transformation_tofile);ULEP(transformation_gzip);ULEP(transformation_chunked);ULEP(transformation_offload);ULEP(router_memcached);ULEP(router_redis);ULEP(router_hash); ULEP(router_expires);ULEP(router_metrics);ULEP(transformation_template);ULEP(stats_pusher_socket);"
*** uWSGI compiling server core ***
[thread 0][gcc -pthread] core/utils.o
[thread 1][gcc -pthread] core/protocol.o
[thread 1][gcc -pthread] core/socket.o
[thread 1][gcc -pthread] core/logging.o
[thread 0][gcc -pthread] core/master.o
[thread 0][gcc -pthread] core/master_utils.o
[thread 1][gcc -pthread] core/emperor.o
[thread 0][gcc -pthread] core/notify.o
[thread 0][gcc -pthread] core/mule.o
[thread 1][gcc -pthread] core/subscription.o
[thread 0][gcc -pthread] core/stats.o
[thread 1][gcc -pthread] core/sendfile.o
[thread 0][gcc -pthread] core/async.o
[thread 1][gcc -pthread] core/master_checks.o
[thread 0][gcc -pthread] core/fifo.o
[thread 1][gcc -pthread] core/offload.o
[thread 0][gcc -pthread] core/io.o
[thread 1][gcc -pthread] core/static.o
[thread 1][gcc -pthread] core/websockets.o
[thread 0][gcc -pthread] core/spooler.o
[thread 1][gcc -pthread] core/snmp.o
[thread 0][gcc -pthread] core/exceptions.o
[thread 1][gcc -pthread] core/config.o
[thread 0][gcc -pthread] core/setup_utils.o
[thread 0][gcc -pthread] core/clock.o
[thread 1][gcc -pthread] core/init.o
[thread 0][gcc -pthread] core/buffer.o
[thread 1][gcc -pthread] core/reader.o
[thread 0][gcc -pthread] core/writer.o
[thread 1][gcc -pthread] core/alarm.o
[thread 1][gcc -pthread] core/cron.o
[thread 0][gcc -pthread] core/hooks.o
[thread 1][gcc -pthread] core/plugins.o
[thread 0][gcc -pthread] core/lock.o
[thread 1][gcc -pthread] core/cache.o
[thread 0][gcc -pthread] core/daemons.o
[thread 0][gcc -pthread] core/errors.o
[thread 0][gcc -pthread] core/hash.o
[thread 1][gcc -pthread] core/master_events.o
[thread 0][gcc -pthread] core/chunked.o
[thread 1][gcc -pthread] core/queue.o
[thread 0][gcc -pthread] core/event.o
[thread 1][gcc -pthread] core/signal.o
[thread 0][gcc -pthread] core/strings.o
[thread 1][gcc -pthread] core/progress.o
[thread 0][gcc -pthread] core/timebomb.o
[thread 1][gcc -pthread] core/ini.o
[thread 0][gcc -pthread] core/fsmon.o
[thread 1][gcc -pthread] core/mount.o
[thread 0][gcc -pthread] core/metrics.o
[thread 1][gcc -pthread] core/plugins_builder.o
[thread 1][gcc -pthread] core/sharedarea.o
[thread 0][gcc -pthread] core/rpc.o
[thread 1][gcc -pthread] core/gateway.o
[thread 0][gcc -pthread] core/loop.o
[thread 1][gcc -pthread] core/cookie.o
[thread 0][gcc -pthread] core/querystring.o
[thread 1][gcc -pthread] core/rb_timers.o
[thread 0][gcc -pthread] core/transformations.o
[thread 0][gcc -pthread] core/uwsgi.o
[thread 1][gcc -pthread] proto/base.o
[thread 1][gcc -pthread] proto/uwsgi.o
[thread 1][gcc -pthread] proto/http.o
[thread 1][gcc -pthread] proto/fastcgi.o
[thread 0][gcc -pthread] proto/scgi.o
[thread 1][gcc -pthread] proto/puwsgi.o
[thread 0][gcc -pthread] lib/linux_ns.o
[thread 1][gcc -pthread] core/zlib.o
[thread 0][gcc -pthread] core/regexp.o
[thread 1][gcc -pthread] core/routing.o
[thread 0][gcc -pthread] core/yaml.o
[thread 0][gcc -pthread] core/ssl.o
[thread 0][gcc -pthread] core/legion.o
[thread 1][gcc -pthread] core/dot_h.o
[thread 1][gcc -pthread] core/config_py.o
*** uWSGI compiling embedded plugins ***
[thread 1][gcc -pthread] plugins/python/python_plugin.o
[thread 0][gcc -pthread] plugins/python/pyutils.o
[thread 1][gcc -pthread] plugins/python/pyloader.o
[thread 0][gcc -pthread] plugins/python/wsgi_handlers.o
[thread 0][gcc -pthread] plugins/python/wsgi_headers.o
[thread 1][gcc -pthread] plugins/python/wsgi_subhandler.o
[thread 0][gcc -pthread] plugins/python/web3_subhandler.o
[thread 1][gcc -pthread] plugins/python/pump_subhandler.o
[thread 0][gcc -pthread] plugins/python/gil.o
[thread 1][gcc -pthread] plugins/python/uwsgi_pymodule.o
[thread 0][gcc -pthread] plugins/python/profiler.o
[thread 0][gcc -pthread] plugins/python/symimporter.o
[thread 0][gcc -pthread] plugins/python/tracebacker.o
[thread 0][gcc -pthread] plugins/python/raw.o
[thread 0][gcc -pthread] plugins/gevent/gevent.o
[thread 0][gcc -pthread] plugins/gevent/hooks.o
[thread 1][gcc -pthread] plugins/ping/ping_plugin.o
[thread 1][gcc -pthread] plugins/cache/cache.o
[thread 0][gcc -pthread] plugins/nagios/nagios.o
[thread 0][gcc -pthread] plugins/rrdtool/rrdtool.o
[thread 1][gcc -pthread] plugins/carbon/carbon.o
[thread 0][gcc -pthread] plugins/rpc/rpc_plugin.o
[thread 1][gcc -pthread] plugins/corerouter/cr_common.o
[thread 0][gcc -pthread] plugins/corerouter/cr_map.o
[thread 1][gcc -pthread] plugins/corerouter/corerouter.o
[thread 0][gcc -pthread] plugins/fastrouter/fastrouter.o
[thread 1][gcc -pthread] plugins/http/http.o
[thread 0][gcc -pthread] plugins/http/keepalive.o
[thread 0][gcc -pthread] plugins/http/https.o
[thread 1][gcc -pthread] plugins/http/spdy3.o
[thread 0][gcc -pthread] plugins/ugreen/ugreen.o
[thread 0][gcc -pthread] plugins/signal/signal_plugin.o
[thread 1][gcc -pthread] plugins/syslog/syslog_plugin.o
[thread 0][gcc -pthread] plugins/rsyslog/rsyslog_plugin.o
[thread 1][gcc -pthread] plugins/logsocket/logsocket_plugin.o
[thread 0][gcc -pthread] plugins/router_uwsgi/router_uwsgi.o
[thread 1][gcc -pthread] plugins/router_redirect/router_redirect.o
[thread 1][gcc -pthread] plugins/router_basicauth/router_basicauth.o
[thread 0][gcc -pthread] plugins/zergpool/zergpool.o
[thread 1][gcc -pthread] plugins/redislog/redislog_plugin.o
[thread 0][gcc -pthread] plugins/mongodblog/mongodblog_plugin.o
[thread 1][gcc -pthread] plugins/router_rewrite/router_rewrite.o
[thread 0][gcc -pthread] plugins/router_http/router_http.o
[thread 1][gcc -pthread] plugins/logfile/logfile.o
[thread 0][gcc -pthread] plugins/router_cache/router_cache.o
[thread 1][gcc -pthread] plugins/rawrouter/rawrouter.o
[thread 0][gcc -pthread] plugins/router_static/router_static.o
[thread 1][gcc -pthread] plugins/sslrouter/sslrouter.o
[thread 0][gcc -pthread] plugins/spooler/spooler_plugin.o
[thread 0][gcc -pthread] plugins/cheaper_busyness/cheaper_busyness.o
[thread 1][gcc -pthread] plugins/symcall/symcall_plugin.o
[thread 1][gcc -pthread] plugins/transformation_tofile/tofile.o
[thread 0][gcc -pthread] plugins/transformation_gzip/gzip.o
[thread 1][gcc -pthread] plugins/transformation_chunked/chunked.o
[thread 0][gcc -pthread] plugins/transformation_offload/offload.o
[thread 1][gcc -pthread] plugins/router_memcached/router_memcached.o
[thread 0][gcc -pthread] plugins/router_redis/router_redis.o
[thread 1][gcc -pthread] plugins/router_hash/router_hash.o
[thread 0][gcc -pthread] plugins/router_expires/expires.o
[thread 1][gcc -pthread] plugins/router_metrics/plugin.o
[thread 0][gcc -pthread] plugins/transformation_template/tt.o
[thread 1][gcc -pthread] plugins/stats_pusher_socket/plugin.o
*** uWSGI linking ***
gcc -pthread -o /YNYPHKJ/Web/Flask/xxx.com/venv/bin/uwsgi core/utils.o core/protocol.o core/socket.o core/logging.o core/master.o core/master_utils.o core/emperor.o core/notify.o core/mule.o core/subscription.o core/stats.o core/sendfile.o core/async.o core/master_checks.o core/fifo.o core/offload.o core/io.o core/static.o core/websockets.o core/spooler.o core/snmp.o core/exceptions.o core/config.o core/setup_utils.o core/clock.o core/init.o core/buffer.o core/reader.o core/writer.o core/alarm.o core/cron.ocore/hooks.o core/plugins.o core/lock.o core/cache.o core/daemons.o core/errors.o core/hash.o core/master_events.o core/chunked.o core/queue.o core/event.o core/signal.o core/strings.o core/progress.o core/timebomb.o core/ini.o core/fsmon.o core/mount.o core/metrics.o core/plugins_builder.o core/sharedarea.o core/rpc.o core/gateway.o core/loop.o core/cookie.o core/querystring.o core/rb_timers.o core/transformations.o core/uwsgi.o proto/base.o proto/uwsgi.o proto/http.o proto/fastcgi.o proto/scgi.o proto/puwsgi.o lib/linux_ns.o core/zlib.o core/regexp.o core/routing.o core/yaml.o core/ssl.o core/legion.o core/dot_h.ocore/config_py.o plugins/python/python_plugin.o plugins/python/pyutils.o plugins/python/pyloader.o plugins/python/wsgi_handlers.o plugins/python/wsgi_headers.o plugins/python/wsgi_subhandler.o plugins/python/web3_subhandler.o plugins/python/pump_subhandler.o plugins/python/gil.o plugins/python/uwsgi_pymodule.oplugins/python/profiler.o plugins/python/symimporter.o plugins/python/tracebacker.o plugins/python/raw.oplugins/gevent/gevent.o plugins/gevent/hooks.o plugins/ping/ping_plugin.o plugins/cache/cache.o plugins/nagios/nagios.o plugins/rrdtool/rrdtool.o plugins/carbon/carbon.o plugins/rpc/rpc_plugin.o plugins/corerouter/cr_common.o plugins/corerouter/cr_map.o plugins/corerouter/corerouter.o plugins/fastrouter/fastrouter.o plugins/http/http.o plugins/http/keepalive.o plugins/http/https.o plugins/http/spdy3.o plugins/ugreen/ugreen.o plugins/signal/signal_plugin.o plugins/syslog/syslog_plugin.o plugins/rsyslog/rsyslog_plugin.o plugins/logsocket/logsocket_plugin.o plugins/router_uwsgi/router_uwsgi.o plugins/router_redirect/router_redirect.o plugins/router_basicauth/router_basicauth.o plugins/zergpool/zergpool.o plugins/redislog/redislog_plugin.o plugins/mongodblog/mongodblog_plugin.o plugins/router_rewrite/router_rewrite.o plugins/router_http/router_http.o plugins/logfile/logfile.o plugins/router_cache/router_cache.o plugins/rawrouter/rawrouter.o plugins/router_static/router_static.o plugins/sslrouter/sslrouter.o plugins/spooler/spooler_plugin.o plugins/cheaper_busyness/cheaper_busyness.o plugins/symcall/symcall_plugin.o plugins/transformation_tofile/tofile.o plugins/transformation_gzip/gzip.o plugins/transformation_chunked/chunked.o plugins/transformation_offload/offload.o plugins/router_memcached/router_memcached.o plugins/router_redis/router_redis.o plugins/router_hash/router_hash.o plugins/router_expires/expires.o plugins/router_metrics/plugin.o plugins/transformation_template/tt.o plugins/stats_pusher_socket/plugin.o -lpthread -lm -rdynamic -ldl -lz -lpcre -lssl -lcrypto -lcrypt -lpthread -ldl -lutil -lm -lm /usr/local/python3/lib/python3.10/config-3.10-x86_64-linux-gnu/libpython3.10.a -lutil -lcrypt
/bin/ld: warning: libcrypto.so.1.1, needed by /usr/lib/gcc/x86_64-redhat-linux/4.8.5/../../../../lib64/libssl.so, may conflict with libcrypto.so.10
/bin/ld: core/ssl.o: undefined reference to symbol 'OPENSSL_init_crypto@@OPENSSL_1_1_0'
//usr/local/openssl/lib/libcrypto.so.1.1: error adding symbols: DSO missing from command line
collect2: error: ld returned 1 exit status
*** error linking uWSGI ***
----------------------------------------
ERROR: Command errored out with exit status 1: /YNYPHKJ/Web/Flask/xxx.com/venv/bin/python -u -c 'import io, os, sys, setuptools, tokenize; sys.argv[0] = '"'"'/tmp/pip-install-chnksn9t/uwsgi_5568cdb832af4dbfaa4df2af3c4886f4/setup.py'"'"'; __file__='"'"'/tmp/pip-install-chnksn9t/uwsgi_5568cdb832af4dbfaa4df2af3c4886f4/setup.py'"'"';f = getattr(tokenize, '"'"'open'"'"', open)(__file__) if os.path.exists(__file__) else io.StringIO('"'"'from setuptools import setup; setup()'"'"');code = f.read().replace('"'"'\r\n'"'"','"'"'\n'"'"');f.close();exec(compile(code, __file__, '"'"'exec'"'"'))' install --record /tmp/pip-record-n_fh5b4d/install-record.txt --single-version-externally-managed --compile --install-headers /YNYPHKJ/Web/Flask/xxx.com/venv/include/site/python3.10/uwsgi Check the logs for full command output.
我的解答思路和尝试过的方法
很多服务器 甲骨文/hosthatch 安装到这步的时候都报错,我自己ESXI上虚拟机 iso 安装CentOS 也是一样的报错 唯独 在阿里云的服务器上 没有报错
我想要达到的结果
恳请给出非windows 虚拟机上的解决方案 在真实服务器供应商上VPS部署成功的方案 非anaconda(服务器硬盘空间有限) 我可以提供hosthatch的VPS 部署环境 感兴趣的可以来 但采纳至少要解决问题 谢谢!