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 ↑
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
Mettre à jour à partir du code source.
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
# 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!
Bien que j'aie pu le mettre à jour ci-dessus, j'ai tout nettoyé.
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
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
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