安装完python3.10后,pip不能使用!require TLS/SSL

系统安装有多个Python版本有2.7,3.5,再安装3.10
编译安装完python3.10后,pip3.10不能使用!

出现报错:
pip is configured with locations that require TLS/SSL, however the ssl module in Python is not …
网上文章说在configure这一步上加上–with openssl:

./configure --prefix=/usr/local/python3 --with-openssl=/usr/bin/openssl
但是问题没有解决,用yum进行更新openssl也不行,再编译python3.10也还是报错。

问题解决:
下载openssl包,重新安装openssl:

#下载openssl包:
wget https://github.com/openssl/openssl/archive/OpenSSL_1_1_1u.tar.gz

#解压:
tar -xvf OpenSSL_1_1_1u.tar.gz

#编译安装:
cd OpenSSL_1_1_1u
./config
make
make test
make install
在安装过程中,时间略长。

打开/usr/local/bin/openssl再次报错:
openssl: error while loading shared libraries: libssl.so.1.1: cannot open shared object file: No such file or directory

原因:执行ldd + 程序、可执行文件的绝对路径命令,你就会发现,是因为找不到库的位置造成的

ldd /usr/local/bin/openssl
	linux-vdso.so.1 =>  (0x0000007f8a782000)
	libssl.so.1.1 => not found
	libcrypto.so.1.1 => not found
	libpthread.so.0 => /lib/aarch64-linux-gnu/libpthread.so.0 (0x0000007f8a710000)
	libc.so.6 => /lib/aarch64-linux-gnu/libc.so.6 (0x0000007f8a5c9000)
	/lib/ld-linux-aarch64.so.1 (0x0000007f8a757000)

问题解决:
查看/usr/local/lib文件夹里有无有如下的库文件:libcrypto.so.11和libssl.so.1.1
在etc/environment文件中添加/usr/local/lib,无效。

为其在/usr/bin/或在 /lib/aarch64-linux-gnu/建立软连接:

sudo ln -s /usr/local/lib/libssl.so.1.1 /usr/bin/libssl.so.1.1
sudo ln -s /usr/local/lib/libcrypto.so.1.1 /usr/bin/libcrypto.so.1.1

再次打开/usr/local/bin/openssl ,成功进入!

比较旧版和新版openssl的版本号:

对旧版openssl进行保存或删除

重新安装编译python3.10

#下载源码包:
wget https://www.python.org/ftp/python/3.10.4/Python-3.10.4.tgz

#解压:
tar -xvf P*

#编译安装:
cd P*4
configure --with-openssl=/usr/local/bin
提示错误参数–with-openssl,最终结果表明没必要
make && make install

测试用pip3.10安装插件,成功

删除源码包,也可以保存

#删除openssl源码包:
rm -Rf O*
rm -Rf o*

#删除Python源码包:
rm -Rf P*

————————————————

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值