编译安装python

下载源码

https://www.python.org/downloads/

方法1

手动编译安装并指定openssl

#安装依赖
$ yum install gcc libffi-devel zlib* openssl-devel libffi-devel zlib-devel bzip2-devel openssl-devel ncurses-devel sqlite-devel readline-devel tk-devel gcc make

#安装openssl
$ wget https://www.openssl.org/source/openssl-1.1.1a.tar.gz
$ tar -zxvf openssl-1.1.1a.tar.gz
$ cd openssl-1.1.1a/
$ ./config --prefix=/usr/local/openssl
$ make && make install

#删除原有的openssl
$ rm -rf /usr/bin/openssl

#给新安装的openss创建软连接
$ 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

#修改系统配置
#写入openssl库文件的搜索路径
$ echo "/usr/local/openssl/lib" >> /etc/ld.so.conf
#使修改后的/etc/ld.so.conf生效 
$ ldconfig -v
#查看openssl版本
$ openssl version

#编译安装python
$ wget https://www.python.org/ftp/python/3.10.6/Python-3.10.6.tgz
$ tar xf Python-3.10.6.tgz
$ cd Python-3.10.6/
#指定openss路径,编译安装
$ ./configure --with-openssl=/usr/local/openssl
$ make && make install

方法2

通过yum安装openssl并指定环境变量

与方法1最大的区别是使用make altinstall

altinstall跳过创建python链接和手册页链接的操作。

如果使用make install,在系统中将会有两个不同版本的Python在/usr/bin/目录中,这将会导致很多问题。

所以这里需要自己手动创建链接

#安装依赖
$ yum -y groupinstall "Development tools"
$ yum install -y ncurses-devel gdbm-devel xz-devel sqlite-devel tk-devel uuid-devel readline-devel bzip2-devel libffi-devel
$ yum install -y openssl-devel openssl11 openssl11-devel

#设置openssl相关的环境变量
$ export CFLAGS=$(pkg-config --cflags openssl11)
$ export LDFLAGS=$(pkg-config --libs openssl11)
$ echo $CFLAGS && echo $LDFLAGS
-I/usr/include/openssl11
-L/usr/lib64/openssl11 -lssl -lcrypto

#编译安装python
$ wget https://www.python.org/ftp/python/3.10.6/Python-3.10.6.tgz
$ tar xf Python-3.10.6.tgz
$ cd Python-3.10.6/
#编译安装
$ ./configure --enable-optimizations && make altinstall

#创建软连接
$ ln -sf /usr/local/bin/python3.10 /usr/bin/python3
$ ln -sf /usr/local/bin/pip3.10  /usr/bin/pip3

验证

$ pip3 --version
pip 22.2.2 from /usr/local/lib/python3.10/site-packages/pip (python 3.10)
$ python3 --version
Python 3.10.6

配置本地源

$ vim /etc/pip.conf
[global]
index-url = https://pypi.douban.com/simple/
[install]
trusted-host=pypi.douban.com

更新pip

有时会报错,只需要重启再尝试就好了

$ pip3 install --upgrade pip
posted @ 2023-01-17 21:53  厚礼蝎  阅读(183)  评论(0编辑  收藏  举报