安装完以后pip会报错,查了半天,才找到毛病,先踩坑
yum install -y openssl-devel openssl11 openssl11-devel
这个依赖本来是在后边安装的,需要更新就先安装,可能不安装也没事,就不踩了。
更新openssl
# 1.下载openssl
wget --no-check-certificate https://www.openssl.org/source/openssl-1.1.1a.tar.gz
tar -zxvf openssl-1.1.1a.tar.gz
cd openssl-1.1.1a
# 2.编译安装
./config --prefix=/usr/local/openssl no-zlib
make
make install
# 3.备份原配置
mv /usr/bin/openssl /usr/bin/openssl.bak
mv /usr/include/openssl/ /usr/include/openssl.bak
# 4.新版配置
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
# 5.修改系统配置
## 写入openssl库文件的搜索路径
echo "/usr/local/openssl/lib" >> /etc/ld.so.conf
## 使修改后的/etc/ld.so.conf生效
ldconfig -v
# 6.查看openssl版本
openssl version
openssl version 提示:
/usr/local/openssl/bin/openssl: error while loading shared libraries: libssl.so.1.1: cannot open shared object file: No such file or directory
假如你的libssl.so.1.1 文件在/usr/local/openssl/lib/下面,可以这样做
ln -s /usr/local/openssl/lib/libssl.so.1.1 /usr/lib64/libssl.so.1.1
ln -s /usr/local/openssl/lib/libcrypto.so.1.1 /usr/lib64/libcrypto.so.1.1
开始python安装
wget https://www.python.org/ftp/python/3.10.4/Python-3.10.4.tgz
安装依赖环境
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
以上完成,建议先存块照
解压文件,并进入安装目录
tar -zxvf Python-3.10.4.tgz
cd Python-3.10.4
编译安装
./configure --with-openssl=/usr/local/openssl --enable-optimizations && make altinstall
验证安装结果
/usr/local/bin/python3.10 --version
/usr/local/bin/pip3.10 --version
建立软连接
如果存在先删除 rm -rf /usr/bin/python3
sudo ln -sf /usr/local/bin/python3.10 /usr/bin/python3
sudo ln -sf /usr/local/bin/pip3.10 /usr/bin/pip3
测试 pip
pip3 install --upgrade pip
以上操作完成,可以正常使用了。
还会报告一个错误
WARNING: Running pip as the 'root' user can result in broken permissions and conflicting behaviour with the system package manager. It is recommended to use a virtual environment instead: 12. Virtual Environments and Packages — Python 3.11.2 documentation
这个意思是,别用root用户操作,用了也没关系。
以下是为了方便的操作,如需要,存快照
更换国内镜像
- mkdir ~/.pip
- touch ~/.pip/pip.conf
- vim ~/.pip/pip.conf
按i输入模式,编辑完成 按ESC,然后:wq保存
配置文件
[global]
index-url=https://mirrors.aliyun.com/pypi/simple/
extra-index-url=
https://pypi.tuna.tsinghua.edu.cn/simple/
https://pypi.mirrors.ustc.edu.cn/simple/
https://pypi.douban.com/simple/
[install]
trusted-host=mirrors.aliyun.com
ssl_verify:false
没有文件修改权限 输入
: w ! sudo tee %