Python3.10安装
Python 3.10 安装文档
1. 更新openssl
1.检查 openssl 版本
[root@mmrpatroni2 ~]# openssl version
OpenSSL 1.0.2k-fips 26 Jan 2017
2. 安装下载新版本
# 下载 openssl
wget https://www.openssl.org/source/openssl-1.1.1g.tar.gz --no-check-certificate
# 解压
tar -zxvf openssl-1.1.1g.tar.gz
cd openssl-1.1.1g/
# 编译安装
./config --prefix=/usr/local/openssl
make
make install
3. 备份和替换
# 备份当前机器的版本
mv /usr/bin/openssl /usr/bin/openssl.old
mv /usr/include/openssl /usr/include/openssl.old
# 链接新版本
ln -s /usr/local/openssl/bin/openssl /usr/bin/openssl
ln -s /usr/local/openssl/include/openssl /usr/include/openssl
echo "/usr/local/openssl/lib" >> /etc/ld.so.conf
ldconfig
4. 查看是否更新成功
[root@mmrpatroni1 ~]# openssl version
OpenSSL 1.1.1g 21 Apr 2020
2. 安装 python 3.10
1. 安装依赖
yum install -y gcc bzip2-devel libffi-devel
yum install -y zlib-devel
2. 下载python
wget https://www.python.org/ftp/python/3.10.11/Python-3.10.11.tgz --no-check-certificate
3. 安装
- 解压
# 解压
tar -zxvf Python-3.10.11.tgz
-
有两种方式来指定 openssl 的安装路径:
注意:使用
--enable-optimizations
参数可能会出现各种问题,不建议使用这个参数。-
修改 python 3.10路径下的Module/Setup 文件:
-
编辑 python 3.10解压路径下的 Module/Setup 文件:
-
修改如下行的内容(取消注释掉这五行):
cd /opt/soft/python-3.10/ vi Module/Setup # Socket module helper for socket(2) _socket socketmodule.c # 大约在206行, # Socket module helper for SSL support; you must comment out the other # socket line above, and edit the OPENSSL variable: OPENSSL=/usr/local/openssl # 修改升级后的位置 _ssl _ssl.c \ # 取消注释 -I$(OPENSSL)/include -L$(OPENSSL)/lib \ # 查看openssl安装路径下lib,如果为lib64则修改为lib64 -lssl -lcrypto # 取消注释 #_hashlib _hashopenssl.c \ # -I$(OPENSSL)/include -L$(OPENSSL)/lib \ # -lcrypto
-
正常编译安装:
./configure --prefix=/usr/local/python/3.10/ --enable-shared
-
-
使用
--with-openssl
和--with-openssl-rpath=auto
来指定 openssl 的路径,方法如下:./configure --prefix=/usr/local/python/3.10/ --with-openssl=/usr/local/openssl/ --with-openssl-rpath=auto --enable-shared
-
-
编译安装:
make -j4 && make install -j4
-
添加软连接:
ln -s /usr/local/python/3.10/bin/python3 /usr/bin/python3 ln -s /usr/local/python3/3.10/bin/pip3 /usr/bin/pip3 echo "/usr/local/python3/3.10/lib" >/etc/ld.so.conf.d/python3.conf ldconfig
或者:
cp /usr/local/python/3.10/lib/libpython3.so /usr/lib64/ cp /usr/local/python/3.10/lib/libpython3.10.so.1.0 /usr/lib64/ cd /usr/lib64 ln -s libpython3.10.so.1.0 libpython3.10.so
ln -s /usr/local/python/3.10/bin/python3.10 /usr/bin/python3
ln -s /usr/local/python/3.10/bin/pip3.10 /usr/bin/pip3
* 测试
```shell
[root@mmrpatroni2 python-3.10]# python3 -V
Python 3.10.11
# 测试 openssl
[root@mmrpatroni2 python-3.10]# python3
Python 3.10.11 (main, Apr 18 2023, 09:44:09) [GCC 4.8.5 20150623 (Red Hat 4.8.5-44)] on linux
Type "help", "copyright", "credits" or "license" for more information.
>>> import ssl
>>> import _ssl
>>>
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 震惊!C++程序真的从main开始吗?99%的程序员都答错了
· 别再用vector<bool>了!Google高级工程师:这可能是STL最大的设计失误
· 单元测试从入门到精通
· 【硬核科普】Trae如何「偷看」你的代码?零基础破解AI编程运行原理
· 上周热点回顾(3.3-3.9)