Centos7升級python2到python3

服務器自帶的python版本為2.7,需要升級到python3,遇到了一些坑,記錄一下.

準備工作

安裝和編譯工作很順利,但是發現pip版本不能被正確安裝,出現下面的錯誤

Traceback (most recent call last):
   File "<stdin>", line 1, in <module>
   File "/usr/local/lib/python3.4/multiprocessing/context.py", line 132, in Value
      from .sharedctypes import Value
   File "/usr/local/lib/python3.4/multiprocessing/sharedctypes.py", line 10, in <
module>
   import ctypes
   File "/usr/local/lib/python3.4/ctypes/__init__.py", line 7, in <module>
      from _ctypes import Union, Structure, Array
ImportError: No module named '_ctypes'

查閱資料發現需要提前安裝好一個依賴,pip才可以被正確安裝

yum install libffi-devel

安裝

# 下載
wget https://www.python.org/ftp/python/3.7.0/Python-3.7.0.tgz
#解壓源碼包
tar -zxvf Python-3.7.0.tgz
#創建安裝目錄
mkdir /usr/local/python3
cd Python-3.7.0/
#安裝到指定目錄
./configure --prefix=/usr/local/python3
# 編譯
make && make install

后續工作

設置軟鏈接使得全局使用python3

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

不知道pip安裝位置的,可以使用命令來查看安裝位置

which pip3

驗證版本

pip3 -V
python3 -V

可以使用下述命令來查看軟鏈接設置

ls -al /usr/bin | grep python

配置yum

升級 Python 之后,由于將默認的 python 指向了 python3,yum 不能正常使用,需要編輯 yum 的配置文件:

vi /usr/bin/yum

同時修改:

vi /usr/libexec/urlgrabber-ext-down

將 #!/usr/bin/python 改為 #!/usr/bin/python2.7,保存退出即可。

參考鏈接

http://www.lxweimin.com/p/447750ec1186
https://docs.python.org/zh-cn/3/installing/index.html
https://zhuanlan.zhihu.com/p/34024112

最后編輯于
?著作權歸作者所有,轉載或內容合作請聯系作者
平臺聲明:文章內容(如有圖片或視頻亦包括在內)由作者上傳并發布,文章內容僅代表作者本人觀點,簡書系信息發布平臺,僅提供信息存儲服務。

推薦閱讀更多精彩內容