昨日gsutilを更新しましたが、それ以降、コマンドラインから次のスタックトレースで失敗します。
$ 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
これは、pipを介してFreeBSD11.1にインストールされます。 これは、pip install --upgradegsutilを介したアップグレードでした。
同じ設定が何年もの間うまく機能しています。 (、FreeBSD 11.1は何年も前から出ていないので、歓迎しませんが、同じインストールで)
それはおそらく問題を引き起こしている依存関係の1つだと思います。
ほぼ週末なので、もちろん急いでいません。 :笑顔:
ところで、 'google-apitools == 0.5.15'にはこれに対する修正があります...しかし、gsutilはバージョン0.5.3に固定されています。
または、6つのパッケージを固定する必要があります。
ありがとう! 一時的な修正として、6つを以前のバージョンに固定します。
本日リリースされたv4.28は、 apitools
v0.5.16に固定されています。 修正済みとしてマークします。
ありがとう!
この問題を抱えている他の人にとって、 pip install six==1.10.0
は6のバージョンです。 Python2.7ではpip2
を使用する必要がありましたが、それは自分のPythonに依存します。 pip
またはpip3
可能性があります。
最も参考になるコメント
ところで、 'google-apitools == 0.5.15'にはこれに対する修正があります...しかし、gsutilはバージョン0.5.3に固定されています。
または、6つのパッケージを固定する必要があります。