linux centos 安装python3.7报错会在load avg: 0.63 [307/416] test_socket卡住 解决办法,并且无法使用ssl模块

上回在安装python3.7环境的时候发现系统是centos6

在检查环境时加上 --enable-optimizations参数

./configure --prefix=/usr/local/python37 --enable-optimizations
#检查的时候它不会报错

然后make的时候,就会导至了下面的问题


python -m test.regrtest --pgo||true
....
module.gcda:Invocation mismatch - some data files may have been removed0:06:52 load avg: 1.20 [ 80/416] test_configparser -- test_concurrent_futures passed in 3 min 4 sec
0:06:53 load avg: 1.19 [ 81/416] test_contains
0:06:54 load avg: 1.19 [ 82/416] test_context
0:06:57 load avg: 1.19 [ 83/416] test_contextlib
0:06:58 load avg: 1.19 [ 84/416] test_contextlib_async
Task was destroyed but it is pending!
task: <Task pending coro=<<async_generator_athrow without __name__>()>>
Task was destroyed but it is pending!
task: <Task pending coro=<<async_generator_athrow without __name__>()>>
0:06:58 load avg: 1.17 [ 85/416] test_copy
0:06:59 load avg: 1.17 [ 86/416] test_copyreg

....
load avg: 0.63 [307/416] test_socket
#最后会卡在这里

经过分析发现是因为系统的原因,与openssl版本有关系

python3.7.3以后对openssl版本有要求至少要1.0.2 以上的版本,而centos6的openssl是1.0.0版本,一般yum源上的  openssl版本也比较低,安装的时候就会遇到这个问题。

解决办法:

安装新的openssl1.1.1 我安装的是这个版本

 ./config --prefix=/usr/local/openssl111
 make &&make install
 #openssl安装完成

openssl安装完成后需要加两个软链接

ln -s /usr/local/openssl111/lib/libssl.so.1.1 /usr/lib64/libssl.so.1.1
ln -s /usr/local/openssl111/lib/libcrypto.so.1.1 /usr/lib64/libcrypto.so.1.1
#需要其他的还可以自己加

然后再重新编译 python就行了

./configure --prefix=/usr/local/python3/ --with-openssl=/usr/local/openssl111/ --enable-optimizations
make && make install

这样就可以了

安装好后还能可解决 下面这个警告:

WARNING: pip is configured with locations that require TLS/SSL, however the ssl module in Python is not available.


Tags linux python ca证书 openssl

留言(0)

评论