在 centos7上 python2 和 python3 共存

1、解決Python2 pip問題

centos7自帶的是Python2,可是並無安裝pip,咱們須要自行安裝 包名爲 python-piphtml

# 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 包名

2、安裝Python3

安裝依賴關係。注:不能忽略相關包,我以前就沒有安裝readline-devel致使執行python模式沒法使用鍵盤的上下左右鍵。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 安裝sql

# wget https://www.python.org/ftp/python/3.6.8/Python-3.6.8.tar.xz

解壓、編譯、安裝windows

// 解壓
# tar -xvJf Python-3.6.8.tar.xz
 
// 編譯
# cd Python-3.6.8
# ./configure prefix=/usr/local/python3
 
// 安裝
# make && make install

創建軟鏈接centos

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

測試python2.7

// 測試
# 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 包名

3、安裝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

4、修改yum的配置

由於執行yum須要python2版本,因此咱們還要修改yum的配置url

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 的版本以下:centos7

[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)
參考資料
相關文章
相關標籤/搜索