centos7 64位 python2升级python3及安装pip

centos7自带的python2.7,这里介绍下如何升级为python3。

注意:首先安装依赖包

否则后期使用时会出现问题,比如pip3 install 第三方包时,由于没有提前yum openssl-devel,导致报错。
centos pip is configured with locations that require TLS/SSL, however the ssl module in Python is not available.

yum -y groupinstall "Development tools"
yum -y install zlib-devel bzip2-devel openssl-devel ncurses-devel sqlite-devel readline-devel tk-devel gdbm-devel db4-devel libpcap-devel xz-devel



1.创建安装目录

sudo mkdir /usr/local/python3



2.从python官网下载压缩包

在这里插入图片描述
右键—>复制链接地址,为https://www.python.org/ftp/python/3.6.0/Python-3.6.0.tar.xz
进入/usr/local/python3路径,使用wget命令下载安装包

cd /usr/local/python3
wget  https://www.python.org/ftp/python/3.6.0/Python-3.6.0.tar.xz



3.解压xxx.tar.xz文件

xz -d Python-3.6.0.tar.xz
tar -xvf Python-3.6.0.tar
或者使用单个命令
tar -xvJf  Python-3.6.0.tar.xz



4.编译并安装

cd 进入解压目录,然后
sudo ./configure --prefix=/usr/local/python3
sudo make
sudo make install

编译出现一个问题,
zipimport.ZipImportError: can’t decompress data; zlib not available,查找资料发现,zlib系列包安装不全。
参考文章
在这里插入图片描述
解决办法:

yum -y install zlib*

然后修改python安装目录下的Setup文件,/usr/local/python3/Python-3.6.0/Modules/Setup

将#zlib zlibmodule.c -I$(prefix)/include -L$(exec_prefix)/lib -lz 去掉注释,即
     zlib zlibmodule.c -I$(prefix)/include -L$(exec_prefix)/lib -lz

重新编译安装成功。

sudo make
sudo make install



5.替换python

cd /usr/bin
其中有python, python2.7, python2三个文件,其实都是指向python2.7的,这里将python备份 
mv python python.bak  
sudo ln -s /usr/local/python3/bin/python3.6 /usr/bin/python
python -V 检查python的版本是否被正确替换掉了。



6.收尾替换工作

原则: 如果程序只能在python2.7下执行,则替换为python2.7。

  • 由于yum使用python2,替换为python3后无法正常工作,因此修改yum配置文件:
sudo vi /usr/bin/yum
将第一行指定的python版本改为python2.7:
#!/usr/bin/python改为 #!/usr/bin/python2.7
  • 修改urlgrabber配置文件(网上很多教程都漏了这一步)
sudo vi /usr/libexec/urlgrabber-ext-down
同yum,把头部的python改成python2.7
  • gnome配置修改,修改python的版本后,nome-tweak-tool 也就是优化工具打不开

解决办法: gnome-tweak-tool 文件 #!/usr/bin/python换成 #!/usr/bin/python2.7 就可以了

vim /usr/bin/gnome-tweak-tool

在这里插入图片描述


7.python3安装pip

python3安装完成后默认已经带有pip3,如图示
在这里插入图片描述
你可以用以下命令,创建软链接

ln -s /usr/local/python3/bin/pip3 /usr/bin/pip3

参考:
https://blog.csdn.net/blueheart20/article/details/70062671
https://www.jianshu.com/p/74227d7ae6a6
https://blog.csdn.net/fake_hydra/article/details/81631270
https://blog.csdn.net/u014749862/article/details/54430022
https://www.jianshu.com/p/758b592387d1





pip3安装第三方库报错

pip3 install selenium
报错pip is configured with locations that require TLS/SSL, however the ssl module in Python is not available.

在网上查找解决办法如下,需要yum安装 openssl-devel后,再编译python。
为了避免其他人遇到这个问题,在文章头部做了补充,参考【首先安装依赖包】部分。

If you are on Red Hat/CentOS:

# To allow for building python ssl libs
yum install openssl-devel
# Download the source of *any* python version
cd /usr/src
wget https://www.python.org/ftp/python/3.6.2/Python-3.6.2.tar.xz
tar xf Python-3.6.2.tar.xz 
cd Python-3.6.2

# Configure the build w/ your installed libraries
./configure

# Install into /usr/local/bin/python3.6, don't overwrite global python bin
make altinstall

参考:https://stackoverflow.com/questions/41328451/ssl-module-in-python-is-not-available-when-installing-package-with-pip3

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值