CentOS6升級Python2.6到3.7,錯誤處理[No module named '_ctyp

CentOS6升級Python2.6到3.7,錯誤處理[No module named '_ctypes']

因開發需要,在CentOS 6 服務器將Python2進行升級到Python3。由於工作中內網的限制,這裏使用的是手動安裝的方式進行。

一、查看當前python版本

[python@VM000001564 ~]$ python -V
Python 2.6.6

二、官網下載Python穩定版本(當前3.7.2)進行安裝

這裏下載軟件使用python用戶,安裝使用root用戶進行

# 下載步驟(python用戶)
[python@VM000001564 ~]$ wget https://www.python.org/ftp/python/3.7.2/Python-3.7.2.tgz
[python@VM000001564 ~]$ tar -xzvf Python-3.7.2.tgz
[python@VM000001564 ~]$ cd Python-3.7.2

# 安裝步驟(root用戶)
[root@VM000001564 Python-3.7.2]# ./configure
[root@VM000001564 Python-3.7.2]# make && make install

三、安裝後進行後驗證版本

[python@VM000001564 Python-3.7.2]$ python3 -V
Python 3.7.2

四、設置3.7.2爲默認版本

默認還是2.6.6爲默認版本,需要將3.7.2進行設置

[root@VM000001564 Python-3.7.2]# ls -al /usr/bin | grep python
-rwxr-xr-x.  1 root root      11232 Oct 16  2014 abrt-action-analyze-python
-rwxr-xr-x.  2 root root       9032 Jan 22  2014 python
lrwxrwxrwx.  1 root root          6 Oct 27  2014 python2 -> python
-rwxr-xr-x.  2 root root       9032 Jan 22  2014 python2.6

將原來 python 的軟鏈接備份:

# mv /usr/bin/python /usr/bin/python.bak

將 python 鏈接至 python3:

# ln -s /usr/local/bin/python3 /usr/bin/python

五、安裝中遇到的問題

ModuleNotFoundError: No module named '_ctypes'

因爲3.7版本用到外部模塊_ctypes,需要一個新的包libffi-devel,安裝此包之後再次進行安裝步驟即可

yum install libffi-devel -y
make install

若在安裝前移除了/usr/bin下python的文件鏈接依賴,此時yum無法正常使用,需要自己下載相關軟件包安裝,爲節省讀者時間,放上鍊接。

CentOS 7 下載此版本

wget http://mirror.centos.org/centos/7/os/x86_64/Packages/libffi-devel-3.0.13-18.el7.x86_64.rpm
rpm -ivh libffi-devel-3.0.13-18.el7.x86_64.rpm

CentOS 6 下載此版本

wget http://mirror.centos.org/centos/6/os/x86_64/Packages/libffi-devel-3.0.5-3.2.el6.x86_64.rpm
rpm -ivh  libffi-devel-3.0.5-3.2.el6.x86_64.rpm

安裝此包之後再次進行重新編譯,安裝步驟即可,切記。

更多幹貨、原文地址:http://www.osheep.cn/4792.html

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章