Python2 和 Python3 共存于 Centos7
2019-08-04 13:52 jetwill 阅读(291) 评论(0) 编辑 收藏 举报一、解决Python2 pip问题
centos7自带的是Python2,但是并没有安装pip,我们需要自行安装 包名为 python-pip
# yum install epel-release -y
# yum -y install python-pip
// 安装完成后不是最新的pip版本要进行升级
# pip install --upgrade pip
# pip -V
pip 19.2.1 from /usr/lib/python2.7/site-packages/pip (python 2.7)
// 现在可以使用pip进行对Python2 进行安装Python包了
// 第一种方法:
# pip install 包名
// 第二种方法:
# python -m pip install 包名
二、安装Python3
安装依赖关系。注:不能忽略相关包,我之前就没有安装readline-devel导致执行python模式无法使用键盘的上下左右键。
# yum -y install zlib-devel bzip2-devel openssl-devel ncurses-devel sqlite-devel readline-devel tk-devel gcc make
下载源码包。
注:如果没有wget命令可以使用 yum -y install wget 安装
# wget https://www.python.org/ftp/python/3.6.8/Python-3.6.8.tar.xz
解压、编译、安装
// 解压
# tar -xvJf Python-3.6.8.tar.xz
// 编译
# cd Python-3.6.8
# ./configure prefix=/usr/local/python3
// 安装
# make && make install
建立软连接
cd /usr/bin
rm -f python
rm -f pip
ln -s /usr/local/python3/bin/python3 python3
ln -s /usr/local/python3/bin/python3 python
ln -s /usr/local/python3/bin/python3 py3
ln -s /usr/local/python3/bin/python3 py
ln -s python2 py2
ln -s /usr/local/python3/bin/pip3 pip3
ln -s /usr/local/python3/bin/pip3 pip
// 升级Python3的pip
pip3 install --upgrade pip
测试
// 测试
# pip3 -V
pip 19.2.1 from /usr/local/python3/lib/python3.6/site-packages/pip (python 3.6)
// 使用
# pip3 install 包名
// 或者
# python3 -m pip install 包名
三、安装TAB补全的解释器(ipython)
py2 -m pip install ipython
py3 -m pip install ipython
// 或者
pip3 install ipython
pip2 install ipython
设置软链接
cd /usr/bin
rm -f ipython
ln -s /usr/local/python3/bin/ipython /usr/bin/ipython3
ln -s /usr/local/python3/bin/ipython /usr/bin/ipython
ln -s /usr/local/python3/bin/ipython /usr/bin/ipy3
ln -s /usr/local/python3/bin/ipython /usr/bin/ipy
ln -s ipython2 ipy2
四、修改yum的配置
因为执行yum需要python2版本,所以我们还要修改yum的配置
sed -i s/python/python2/ /usr/bin/yum
sed -i s/python/python2/ /usr/libexec/urlgrabber-ext-down
head -1 /usr/bin/yum
head -1 /usr/libexec/urlgrabber-ext-down
全部步骤完成之后,我的 CentOS7 里 Python 和 iPython 的版本如下:
[root@master ~]# ipy -V
7.7.0
[root@master ~]# ipy2 -V
5.8.0
[root@master ~]# python -V
Python 3.6.8
[root@master ~]# python2 -V
Python 2.7.5
[root@master ~]# pip -V
pip 19.2.1 from /usr/local/python3/lib/python3.6/site-packages/pip (python 3.6)
[root@master ~]# pip2 -V
pip 19.2.1 from /usr/lib/python2.7/site-packages/pip (python 2.7)