我的centos7安装在虚拟机上,Xshell连接上centos,切换到root用户;
centos7自带的python2版本,好像没带pip;
安装前可能需要先安装或者升级openssl;
先查看版本:openssl version
使用yum安装:yum install -y openssl openssl-devel
可能需要安装的依赖:
yum install -y zlib zlib-devel openssl-devel sqlite-devel bzip2-devel libffi libffi-devel gcc gcc-c++ wget
或者,使用安装包编译安装openssl1.1.1:
tar -zxvf openssl-1.1.1v.tar.z
cd openssl-1.1.1v
./config --prefix=/usr/local/openssl
make
make install
删除旧链接:
rm -rf /usr/bin/openssl
rm -rf /usr/include/openssl
rm -rf /usr/lib64/libssl.so
rm -rf /usr/lib64/libcrypto.so.1.1
创建新链接:
ln -s /usr/local/openssl/include/openssl /usr/include/openssl
ln -s /usr/local/openssl/bin/openssl /usr/bin/openssl
ln -s /usr/local/openssl/lib/libssl.so.1.1 /usr/lib64/libssl.so
ln -s /usr/local/openssl/lib/llibcrypto.so.1.1 /usr/lib64/libcrypto.so.1.1
写入openssl库文件的搜索路径,执行命令: echo "/usr/local/openssl/lib" >> /etc/ld.so.conf
使修改后的/etc/ld.so.conf生效,执行命令: ldconfig -v
查看版本:openssl version
下载好python3的包丢centos里解压;
我是从官网下载的Python-3.8.3.tgz;
解压:tar -zxvf Python-3.8.3.tgz
进入目录:cd Python-3.8.3/
编译安装:
./configure --prefix=/usr/local/python3 (--prefix指定安装目录)
(可以使用--with-openssl=/usr/local/openssl 指定openssl安装目录,看configure输出或者config.log日志显示module__ssl=yes说明已经找到安装的openssl了)
make && make install
安装完大概这个样子
python3自带pip3,安装python3自动安装了pip;
但现在python链接关联的还是python2的
然后添加python3的链接和pip3的链接,cd /usr/bin下
(可以删掉python的链接或者mv python python.back备份)
添加python3链接:ln -s /usr/local/python3/bin/python3 /usr/bin/python
添加pip3链接:ln -s /usr/local/python3/bin/pip3 /usr/bin/pip
然后python3和pip3就安装完成了
注意yum使用的是python2的,刚把python链接连到python3了,需要修改两个yum的文件;
vi /usr/bin/yum
将第一行的#!/usr/bin/python修改为#!/usr/bin/python2;(我的python2是链接到python2.7的)
vi /usr/libexec/urlgrabber-ext-down
同上修改;
pip3所在目录是在/usr/local/python3/bin,跟python3在一起;
如果pip丢了或者python -m pip uninstall pip卸载了
官网下载pip的包丢上去
进入解压后的目录:cd pip-20.1.1/
执行:python setup.py build (我的python已经链接到python3了)
(报错ModuleNotFoundError: No module named '_ctypes',解决方法:yum install libffi-devel,然后重新编译安装python3)
执行:python setup.py install
pip已经安装了20.1.1版本了,切回普通用户查看:
更新pip:python -m pip install --upgrade pip (我的已经最新了)
参考:
Centos中安装pip3/pip_centos 安装 pip3-优快云博客
https://www.cnblogs.com/lemon-le/p/11835521.html
在新安装的Centos中安装python3.7 解决pip和yum问题_yum python 3.7-优快云博客
Python3.8.1 pip安装报错ModuleNotFoundError: No module named '_ctypes'解决方法_pip安装peewee失败-优快云博客