[LINUX] Mise à jour Python (2.6-> 2.7)

Préface

Fondamentalement, la mise à niveau de la version du système Python est NG.
Si vous avez besoin d'une version différente, spécifiez PATH à chaque fois.
Cependant, je quitterai le message dans l'espoir que cela conduira à la résolution lorsqu'une erreur similaire se produira.

(Merci pour ton commentaire, knoguchi!)

Puisque subprocess.check_call est utilisé, lors de la mise à jour de python du serveur qui utilise boto3, c'était souvent plus que prévu, donc un mémorandum. Voici ce que j'ai fait: ・ Mise à jour Python (2.6-> 2.7) ・ Réinstallez boto3 car il ne peut plus être importé en raison de ↑ ・ Installation de pip requise pour ↑

environnement

Cela ressemble à ce qui suit

# 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

mise à jour

Mettre à jour à partir du code source.

Installation des modules requis

Installez les modules requis à l'avance.

# yum install zlib-devel openssl-devel

Si vous ne le faites pas, les installations de pip ultérieures échoueront.

Exemple d'erreur)

# 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

Téléchargez et installez python2.7

# 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

Mise à jour terminée!

Correspondance avec les effets nocifs

Bien que j'aie pu le mettre à jour ci-dessus, j'ai tout nettoyé.

récupération miam

Il semble que yum ne soit plus disponible.

# 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

Il correspond en pointant le python utilisé par yum vers l'ancienne version.

vi /usr/bin/yum
× : #!/usr/bin/python
○ : #!/usr/bin/python.26

installation de pip & boto3

Il semble que l'importation de boto3 échouera. (Parce qu'il n'est pas inclus pour 2.7) Pris en charge par la réinstallation.

# curl -kL https://bootstrap.pypa.io/get-pip.py | python
# pip install boto3

Résumé

Il semble que la réponse soit complète. Surtout quand yum ne peut pas être utilisé, il est facile de l'ignorer à moins que vous ne sachiez que yum fonctionne sur python.

Vous devez faire attention aux mises à jour.

Recommended Posts

Mise à jour Python (2.6-> 2.7)
mémorandum python (mise à jour séquentielle)
Python
Comment mettre à jour Tkinter de Python vers la version 8.6
Mise à jour automatique du module Python
[Python débutant] Mettre à jour pip lui-même
python kafka
mise à jour de Django
Les bases de Python ⑤
Résumé Python
Python intégré
Notation d'inclusion Python
Étudier Python
Compte à rebours Python 2.7
Mémorandum Python
Python FlowFishMaster
Service Python
Mise à jour Bayes
astuces python
Mémo Python
Notation d'inclusion Python
Remplacez la valeur du dictionnaire par Python> update ()
Python Singleton
Les bases de Python ④
Mémorandum Python 2
Incrément Python
atCoder 173 Python
[Python] fonction
Installation de Python
Installer Python 3.4.3.
Essayez Python
Mémo Python
Itératif Python
Algorithme Python
Python2 + mot2vec
[Python] Variables
Fonctions Python
Python sys.intern ()
Tutoriel Python
Fraction Python
underbar python C'est ce que
Résumé Python
Démarrer python
[Python] Trier
Remarque: Python
Les bases de Python ③
Sortie du journal python
Les bases de Python
mémo python
Mémorandum Python
Python #sort
ufo-> python
Python nslookup
apprentissage de python
[Rpmbuild] Python 3.7.3.
Python au prorata (1)
mémorandum python