[LINUX] Python-Update (2.6-> 2.7)

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 ↑

Umgebung

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

aktualisieren

Update vom Quellcode.

Installation der erforderlichen Module

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

Laden Sie python2.7 herunter und installieren Sie es

# 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!

Korrespondenz mit schädlichen Wirkungen

Obwohl ich es oben aktualisieren konnte, habe ich alles aufgeräumt.

yum Erholung

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

pip & boto3 Installation

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

Zusammenfassung

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

Python-Update (2.6-> 2.7)
Python Memorandum (sequentielle Aktualisierung)
Python
So aktualisieren Sie Pythons Tkinter auf 8.6
Automatisches Update des Python-Moduls
[Python-Anfänger] Pip selbst aktualisieren
Kafka Python
Django-Update
Python-Grundlagen ⑤
Python-Zusammenfassung
Eingebaute Python
Python-Einschlussnotation
Python studieren
Python 2.7 Countdown
Python-Memorandum
Python FlowFishMaster
Python-Dienst
Bayes Update
Python-Tipps
Python-Memo
Python-Einschlussnotation
Ersetzen Sie den Wörterbuchwert durch Python> update ()
Python Singleton
Python-Grundlagen ④
Python-Memorandum 2
Python-Inkrement
atCoder 173 Python
[Python] -Funktion
Python-Installation
Python installieren 3.4.3.
Versuchen Sie Python
Python-Memo
Python iterativ
Python-Algorithmus
Python2 + word2vec
[Python] -Variablen
Python-Funktionen
Python sys.intern ()
Python-Tutorial
Python-Fraktion
Python Underbar Das ist was
Python-Zusammenfassung
Starten Sie Python
[Python] Sortieren
Hinweis: Python
Python-Grundlagen ③
Python-Protokoll ausgeben
Python-Grundlagen
Python-Memo
Python-Memorandum
Python #sort
Ufo-> Python
Python nslookup
Python lernen
[Rpmbuild] Python 3.7.3.
Prorate Python (1)
Python Memorandum