我々はすべて知っているように、2020年のpython 2.7は、もはやパイソンの公式バージョンをサポートしていませんので、パイソンの3.xバージョンを使用する必要があるが、Linuxのインストール中にデフォルトのPythonは、一般的に2.6と2.7のバージョンである、とあなたは、Linuxでのpythonを使用している場合アップグレードするために見ることが必要です
にゲット
1.チェック情報システム
[ルート@ localhostの/]#猫の/ etc / redhatのリリース
CentOSのLinuxリリース1810年7月6日(コア)
[ルート@ localhostの/]#は、uname -a
Linuxのlocalhost.localdomainを3.10.0-957.el7.x86_64#1 SMP木11月8日夜11時39分32秒UTC 2018 x86_64のx86_64のx86_64のGNU / Linuxの
[ルート@ localhostの/]#のpython -V
Pythonの2.7.5
現在のバージョンは2.7.5のpythonです
2.ダウンロードしてインストールのPython-3.7.0
1)Pythonの-3.7.0.tgzパッケージをダウンロード
[ルート@ localhostの/]#ます。mkdir -p /サーバ/ツール/
[ルート@ localhostの/]#のCD /サーバ/ツール/
[ルート@ localhostのツール]#wgetのhttps://www.python.org/ftp/python/ 3.7.0 / Pythonの-3.7.0.tgz
また、手動でダウンロードして、サーバーにアップロードすることができます。https://www.python.org/ftp/python/を
2)解凍をコンパイルしてインストールします
[ルート@ localhostのツール]のPython-3.7.0.tgz -xf#タール
[ルート@ localhostのツール]#のCDのPython-3.7.0
[ローカルホストのPython-3.7.0 @ルート]#は./configure --with-sslの
[ローカルホストのPython-3.7.0 @ルート]#メイク
[ルート@ localhostのはPython-3.7.0]#メイクインストール
例外処理:
1は、コンパイルエラーならば、あなたが作る、gccなどをチェックする必要がインストールされています。yumのメイクのGCCのgcc-C ++をインストール
2.このエラーは、zlib圧縮ライブラリをデインストールする必要が発生した場合は、その後、実行makeがインストール:yumのzlibのインストール-y *
インポートpip._internal
zipimport.ZipImportError:できない解凍データ。zlibの利用できません
3、ModuleNotFoundError: '_ctypes' という名前なしモジュール:
バージョン3.7は、このパッケージをインストールした後、インストールを再度コンパイルすることができ、新しいパッケージlibffi-develのが必要です:yumのインストールlibffi-develの-y
インストールが正常に終了し、プロンプト表示されます
3)インストールが完了すると、デフォルトのPythonのバージョンを変更する必要があります
#現在のデフォルトpython2、「は/ usr / binに/」ディレクトリ内のpythonに付属しているデフォルトの位置を確認してください
[root@localhost Python-3.7.0]# ll /usr/bin/python*
lrwxrwxrwx. 1 root root 7 3月 26 23:38 /usr/bin/python -> python2
lrwxrwxrwx. 1 root root 9 3月 26 23:38 /usr/bin/python2 -> python2.7
-rwxr-xr-x. 1 root root 7216 10月 31 2018 /usr/bin/python2.7
# 检查新安装的python3,默认编译安装的python位置在”/usr/local/bin/“目录下
[root@localhost Python-3.7.0]# ll /usr/local/bin/python*
lrwxrwxrwx. 1 root root 9 6月 16 21:47 /usr/local/bin/python3 -> python3.7
-rwxr-xr-x. 2 root root 13966016 6月 16 21:46 /usr/local/bin/python3.7
lrwxrwxrwx. 1 root root 17 6月 16 21:47 /usr/local/bin/python3.7-config -> python3.7m-config
-rwxr-xr-x. 2 root root 13966016 6月 16 21:46 /usr/local/bin/python3.7m
-rwxr-xr-x. 1 root root 3097 6月 16 21:47 /usr/local/bin/python3.7m-config
lrwxrwxrwx. 1 root root 16 6月 16 21:47 /usr/local/bin/python3-config -> python3.7-config
# 修改默认的python
# 删除旧的python的软连接,创建新的python2和python3的软连接
[root@localhost Python-3.7.0]# cd /usr/bin/
[root@localhost bin]# rm -f python2
[root@localhost bin]# mv python python2.6.ori
[root@localhost bin]# ln -s python2.7 python2
[root@localhost bin]# ln -s /usr/local/bin/python3 /usr/bin/python
4) 检查修改后的python版本
[root@localhost bin]# python -V
Python 3.7.0
[root@localhost bin]# python2 -V
Python 2.7.5
[root@localhost bin]# python3 -V
Python 3.7.0
[root@localhost bin]#
可以看到,默认打开的python版本已经是3.7.0,至此python的版本已经升级成功
3.后续的软件问题处理
# python的默认版本修改为3.x之后,系统对于yum的调用会出问题,所以需要修改下yum的相关配置
[root@localhost bin]# vi /usr/bin/yum
# 需要检查确认以下配置
由于此时的python已经指向python3,所以要改为明确指向python2
#!/usr/bin/python2
这样,修改后的yum依然可以调用python2.7的python,在使用yum安装软件时就不会报错了
另外就是,CentOS7还有另外一个文件需要修改
[root@localhost bin]# vi /usr/libexec/urlgrabber-ext-down
检查确认以下配置:
改为
安装一个软件试试:[root@localhost bin]# yum -y install vim