【整理】CentOS 5.6 Python 2.4.3を2.7.5にアップグレード
pythonのバージョンの表示
Python-2.7をダウンロードしてインストールします.5
ソフト接続を確立し、システムのデフォルトのpythonがpython 2を指すようにする.7
通常、python 2.7インストールに成功すると、システムのデフォルトのpythonは2.4になります.3バージョン、CentOS 5を考慮する.6システムのyumはpython 2に基づく.4が正常に動作するため、python 2をアンインストールしないでください.4バージョン.
では
どのように
システムのデフォルトのpythonを2.7バージョンに指向することを実装しますか?
変更前:
次のように変更します.
上の3つのステップは、次のとおりです.
1.前のソフト接続を削除する.
2.デフォルトのpythonの名前をpython 2に変更します.4 yumに使用する(python 2.4自体が存在するため、ここではこのステップを省略することができる).
3.デフォルトのpythonをpython 2にソフト接続する.7上(ここでは、新しくインストールされたpython 2.7がpythonにソフト接続されているかどうかを確認します).
pythonが成功したかどうかを確認します
デフォルトのpythonソフトリンクがpython 2を指すことを解決します.7バージョン以降yumが正常に動作しない問題
ファイルヘッダの
に改心
アップグレードプロセス全体が完了し、Python 2を使用できます.7.5バージョンです.
=============分割線です
=============
デフォルトpythonが2.7.1にアップグレードされた場合5以降、/usr/bin/yumが変更されていない場合、yum関連コマンドを実行すると次のエラーが発生します.
これはyumがpythonバージョンに依存しているためです./usr/bin/yumの内容は以下の通りです.
=============分割線です
2015-09-08
=============
上記の変更方式は、変更が比較的大きく、もう1つの方式は、システムに既存のPython関連コンテンツを保持して変わらず、環境変数を変更する方式だけで新しいバージョンのPythonを参照すればよい.
PS:エラーが発生した場合
ImportError: No module named bz2
「をインストールする必要があります
bzip 2-devel、Pythonを再コンパイルすればよい(正統な方法);または、実行
(野路)もいいです.Stackoverflowでの議論は、ここを見てください.
[root@localhost ~]# python -V
Python 2.4.3
Python-2.7をダウンロードしてインストールします.5
[root@localhost ~]# wget http://python.org/ftp/python/2.7.5/Python-2.7.5.tar.bz2
[root@localhost ~]# tar -jxvf Python-2.7.5.tar.bz2
[root@localhost ~]# cd Python-2.7.5
[root@localhost Python-2.7.5]# ./configure
[root@localhost Python-2.7.5]# make
[root@localhost Python-2.7.5]# make install
ソフト接続を確立し、システムのデフォルトのpythonがpython 2を指すようにする.7
通常、python 2.7インストールに成功すると、システムのデフォルトのpythonは2.4になります.3バージョン、CentOS 5を考慮する.6システムのyumはpython 2に基づく.4が正常に動作するため、python 2をアンインストールしないでください.4バージョン.
では
どのように
システムのデフォルトのpythonを2.7バージョンに指向することを実装しますか?
変更前:
[root@localhost Python-2.7.5]# ll /usr/bin/python*
-rwxr-xr-x 2 root root 8304 Mar 6 2011 /usr/bin/python
lrwxrwxrwx 1 root root 6 Jul 4 2013 /usr/bin/python2 -> python
-rwxr-xr-x 2 root root 8304 Mar 6 2011 /usr/bin/python2.4
次のように変更します.
[root@localhost Python-2.7.5]# rm -f /usr/bin/python2
[root@localhost Python-2.7.5]# mv /usr/bin/python /usr/bin/python2.4
[root@localhost Python-2.7.5]# ln -s /usr/local/bin/python2.7 /usr/bin/python
上の3つのステップは、次のとおりです.
1.前のソフト接続を削除する.
2.デフォルトのpythonの名前をpython 2に変更します.4 yumに使用する(python 2.4自体が存在するため、ここではこのステップを省略することができる).
3.デフォルトのpythonをpython 2にソフト接続する.7上(ここでは、新しくインストールされたpython 2.7がpythonにソフト接続されているかどうかを確認します).
pythonが成功したかどうかを確認します
[root@localhost Python-2.7.5]# python -V
Python 2.7.5
デフォルトのpythonソフトリンクがpython 2を指すことを解決します.7バージョン以降yumが正常に動作しない問題
[root@localhost Python-2.7.5]# vi /usr/bin/yum
#!/usr/bin/python
...
ファイルヘッダの
#!/usr/bin/python
に改心
#!/usr/bin/python2.4
アップグレードプロセス全体が完了し、Python 2を使用できます.7.5バージョンです.
=============分割線です
=============
デフォルトpythonが2.7.1にアップグレードされた場合5以降、/usr/bin/yumが変更されていない場合、yum関連コマンドを実行すると次のエラーが発生します.
[root@localhost Python-2.7.5]# yum list
There was a problem importing one of the Python modules
required to run yum. The error leading to this problem was:
No module named yum
Please install a package which provides this module, or
verify that the module is installed correctly.
It's possible that the above module doesn't match the
current version of Python, which is:
2.7.5 (default, Jul 5 2013, 02:21:36)
[GCC 4.1.2 20080704 (Red Hat 4.1.2-54)]
If you cannot solve this problem yourself, please go to
the yum faq at:
http://wiki.linux.duke.edu/YumFaq
[root@localhost Python-2.7.5]#
これはyumがpythonバージョンに依存しているためです./usr/bin/yumの内容は以下の通りです.
[root@localhost Python-2.7.5]# vi /usr/bin/yum
#!/usr/bin/python
import sys
try:
import yum
except ImportError:
print >> sys.stderr, """\
There was a problem importing one of the Python modules
required to run yum. The error leading to this problem was:
%s
Please install a package which provides this module, or
verify that the module is installed correctly.
It's possible that the above module doesn't match the
current version of Python, which is:
%s
If you cannot solve this problem yourself, please go to
the yum faq at:
http://wiki.linux.duke.edu/YumFaq
""" % (sys.exc_value, sys.version)
sys.exit(1)
sys.path.insert(0, '/usr/share/yum-cli')
try:
import yummain
yummain.user_main(sys.argv[1:], exit_code=True)
except KeyboardInterrupt, e:
print >> sys.stderr, "
Exiting on user cancel."
sys.exit(1)
~
=============分割線です
2015-09-08
=============
上記の変更方式は、変更が比較的大きく、もう1つの方式は、システムに既存のPython関連コンテンツを保持して変わらず、環境変数を変更する方式だけで新しいバージョンのPythonを参照すればよい.
PS:エラーが発生した場合
ImportError: No module named bz2
「をインストールする必要があります
bzip 2-devel、Pythonを再コンパイルすればよい(正統な方法);または、実行
cp /usr/lib64/python2.6/lib-dynload/bz2.so /usr/local/lib/python2.7/
(野路)もいいです.Stackoverflowでの議論は、ここを見てください.