Gsutil: L'exécution de gsutil échoue après la mise à jour via pip

Créé le 22 sept. 2017  ·  5Commentaires  ·  Source: GoogleCloudPlatform/gsutil

Hier, j'ai mis à jour gsutil et depuis lors, il échoue à partir de la ligne de commande avec la trace de pile suivante :

$ gsutil
Traceback (most recent call last):
  File "/usr/local/bin/gsutil", line 11, in <module>
    load_entry_point('gsutil==4.27', 'console_scripts', 'gsutil')()
  File "/usr/local/lib/python2.7/site-packages/pkg_resources/__init__.py", line 570, in load_entry_point
    return get_distribution(dist).load_entry_point(group, name)
  File "/usr/local/lib/python2.7/site-packages/pkg_resources/__init__.py", line 2751, in load_entry_point
    return ep.load()
  File "/usr/local/lib/python2.7/site-packages/pkg_resources/__init__.py", line 2405, in load
    return self.resolve()
  File "/usr/local/lib/python2.7/site-packages/pkg_resources/__init__.py", line 2411, in resolve
    module = __import__(self.module_name, fromlist=['__name__'], level=0)
  File "/usr/local/lib/python2.7/site-packages/gslib/__main__.py", line 51, in <module>
    from gslib import metrics
  File "/usr/local/lib/python2.7/site-packages/gslib/metrics.py", line 39, in <module>
    from gslib.util import CalculateThroughput
  File "/usr/local/lib/python2.7/site-packages/gslib/util.py", line 39, in <module>
    from apitools.base.py import http_wrapper
  File "/usr/local/lib/python2.7/site-packages/apitools/base/py/__init__.py", line 20, in <module>
    from apitools.base.py.base_api import *
  File "/usr/local/lib/python2.7/site-packages/apitools/base/py/base_api.py", line 31, in <module>
    from apitools.base.protorpclite import message_types
  File "/usr/local/lib/python2.7/site-packages/apitools/base/protorpclite/message_types.py", line 25, in <module>
    from apitools.base.protorpclite import messages
  File "/usr/local/lib/python2.7/site-packages/apitools/base/protorpclite/messages.py", line 1168, in <module>
    class Field(six.with_metaclass(_FieldMeta, object)):
TypeError: Error when calling the metaclass bases
    metaclass conflict: the metaclass of a derived class must be a (non-strict) subclass of the metaclasses of all its bases

Ceci est installé sur FreeBSD 11.1 via pip. Il s'agissait d'une mise à niveau via pip install --upgrade gsutil.

La même configuration fonctionne très bien depuis de nombreuses années maintenant. (bien pas sur FreeBSD 11.1 car ce n'est pas sorti depuis des années, mais sur la même installation)

C'est probablement l'une des dépendances qui pose problème, je pense.

C'est presque le week-end donc pas de précipitation bien sûr. :le sourire:

Commentaire le plus utile

BTW 'google-apitools==0.5.15' a un correctif pour cela... mais gsutil est épinglé à la version 0.5.3.
Sinon, vous devez épingler six paquets.

Tous les 5 commentaires

BTW 'google-apitools==0.5.15' a un correctif pour cela... mais gsutil est épinglé à la version 0.5.3.
Sinon, vous devez épingler six paquets.

Merci! J'ai épinglé six à la version précédente en tant que correctif temporaire.

Sortie v4.28 aujourd'hui, qui correspond à la v0.5.16 de apitools . Marquage comme fixe.

Merci!

Pour toute autre personne ayant le problème, pip install six==1.10.0 est la version de six. J'avais besoin d'utiliser pip2 , pour Python2.7 mais cela dépend de votre propre Python. pip ou pip3 peuvent également fonctionner.

Cette page vous a été utile?
0 / 5 - 0 notes