Vorwort
Grundsätzlich ist das Upgrade der System-Python-Version NG.
Wenn Sie eine andere Version benötigen, geben Sie jedes Mal PATH an.
Ich werde den Beitrag jedoch in der Hoffnung verlassen, dass er zur Lösung führt, wenn ein ähnlicher Fehler auftritt.
(Danke für deinen Kommentar, Knoguchi!)
Da subprocess.check_call verwendet wird, war es beim Aktualisieren von Python des Servers, der boto3 verwendet, oft mehr als erwartet, also ein Memorandum. Folgendes habe ich getan: ・ Python-Update (2.6-> 2.7) ・ Installieren Sie boto3 neu, da es aufgrund von ↑ nicht mehr importiert werden kann ・ Rohrinstallation erforderlich für ↑
Es sieht wie folgt aus
# python -V
Python 2.6.6
# uname -a
Linux hoge 2.6.32-573.12.1.el6.x86_64 #1 SMP Tue Dec 15 21:19:08 UTC 2015 x86_64 x86_64 x86_64 GNU/Linux
Update vom Quellcode.
Installieren Sie die erforderlichen Module im Voraus.
# yum install zlib-devel openssl-devel
Wenn Sie dies nicht tun, schlagen spätere Pip-Installationen fehl.
Fehlerbeispiel)
# curl -kL https://bootstrap.pypa.io/get-pip.py | python
% Total % Received % Xferd Average Speed Time Time Time Current
Dload Upload Total Spent Left Speed
100 1379k 100 1379k 0 0 11.7M 0 --:--:-- --:--:-- --:--:-- 24.0M
Traceback (most recent call last):
File "<stdin>", line 17759, in <module>
File "<stdin>", line 162, in main
File "<stdin>", line 82, in bootstrap
zipimport.ZipImportError: can't decompress data; zlib not available
# curl -kL https://bootstrap.pypa.io/get-pip.py | python
% Total % Received % Xferd Average Speed Time Time Time Current
Dload Upload Total Spent Left Speed
100 1379k 100 1379k 0 0 10.5M 0 --:--:-- --:--:-- --:--:-- 21.3M
Traceback (most recent call last):
File "<stdin>", line 17759, in <module>
File "<stdin>", line 162, in main
File "<stdin>", line 82, in bootstrap
File "/tmp/tmpd34pU2/pip.zip/pip/__init__.py", line 15, in <module>
File "/tmp/tmpd34pU2/pip.zip/pip/vcs/subversion.py", line 9, in <module>
File "/tmp/tmpd34pU2/pip.zip/pip/index.py", line 30, in <module>
File "/tmp/tmpd34pU2/pip.zip/pip/wheel.py", line 35, in <module>
File "/tmp/tmpd34pU2/pip.zip/pip/_vendor/distlib/scripts.py", line 14, in <module>
File "/tmp/tmpd34pU2/pip.zip/pip/_vendor/distlib/compat.py", line 31, in <module>
ImportError: cannot import name HTTPSHandler
# cd /usr/local/src
# curl -O https://www.python.org/ftp/python/2.7.11/Python-2.7.11.tgz
# tar zxf Python-2.7.11.tgz
# cd Python-2.7.11
# ./configure
# make && make altinstall
# mv /usr/bin/python /usr/bin/python.26
# cp /usr/local/src/Python-2.7.11/python /usr/bin/python
# python -V
Python 2.7.11
Aktualisierung abgeschlossen!
Obwohl ich es oben aktualisieren konnte, habe ich alles aufgeräumt.
Es scheint, dass yum nicht mehr verfügbar ist.
# yum list installed
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.11 (default, Jan 14 2016, 11:42:45)
[GCC 4.4.7 20120313 (Red Hat 4.4.7-16)]
If you cannot solve this problem yourself, please go to
the yum faq at:
http://yum.baseurl.org/wiki/Faq
Es entspricht dem Verweisen der von yum verwendeten Python auf die alte Version.
vi /usr/bin/yum
× : #!/usr/bin/python
○ : #!/usr/bin/python.26
Es scheint, dass der Import von boto3 fehlschlagen wird. (Weil es für 2.7 nicht enthalten ist) Unterstützt durch Neuinstallation.
# curl -kL https://bootstrap.pypa.io/get-pip.py | python
# pip install boto3
Es scheint, dass die Antwort vollständig ist. Besonders wenn yum nicht verwendet werden kann, ist es leicht zu übersehen, wenn Sie nicht wissen, dass yum auf Python läuft.
Sie müssen vorsichtig mit Updates sein.
Recommended Posts