原文參考:
https://www.cnblogs.com/felixwang2/p/9934460.html
https://blog.csdn.net/m0_37886429/article/details/86700665
前言:在centos 7.6上面已經安裝了python2環境,如果想要繼續安裝python3而不卸載python2,下面詳細介紹一下。
基本命令
(1)python -V 或者 python --version #查看python版本
(2)python #檢測python安裝是否成功,並且也可以查看版本號
1. 下載安裝包並安裝依賴關系
wget https://www.python.org/ftp/python/3.7.1/Python-3.7.1.tar.xz
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 libffi-devel
2. 解壓文件並開始安裝
這里要注意tar.xz結尾的文件的解壓方式:
mkdir /usr/local/python3
tar -xz -d Python-3.7.1.tar.xz
tar xf Python-3.7.1.tar -C /usr/local/python3
cd Python-3.7.1/
編譯安裝
./configure --prefix=/usr/local/python3 && make && make install
3. 創建python3的命令,然后才能使用
cd /usr/local/python3/bin/ #看下bin下面的命令
ln -s /usr/local/python3/bin/python3 /usr/bin/python3 #給命令創建 /usr/bin/中的軟鏈接,現在可以在命令行直接輸入python3運行了
ln -s /usr/local/python3/bin/pip3 /usr/bin/pip3
測試一下,如果出現交互式界面說明已經安裝成功了
4. python2和python3如果要共存,還需要修改以下兩個文件
(1)修改yum配置文件,使python2和python3可以共存
vim /usr/bin/yum
(2)修改 /usr/libexec/urlgrabber-ext-down 文件
出現的問題
(1)在執行 make 的時候沒有出現問題,但是在 make install 的時候報錯: ModuleNotFoundError: No module named ‘_ctypes’;
原因:這是因為沒有安裝上 tk-devel、libffi-devel這兩個包,可以重新使用 yum 安裝;
(2)SyntaxError: invalid syntax File "/usr/libexec/urlgrabber-ext-down"
原因:沒有修改/usr/libexec/urlgrabber-ext-down 文件中python的環境為python2,因為現在安裝了python3,它不知道應該使用哪一個,所以會報錯。