当我试图导入apache时,我会得到以下错误。
>>> import apache_beam
Traceback (most recent call last):
File "<stdin>", line 1, in <module>
File "/home/toor/pfff/local/lib/python2.7/site-packages/apache_beam/__init__.py", line 78, in <module>
from apache_beam import io
File "/home/toor/pfff/local/lib/python2.7/site-packages/apache_beam/io/__init__.py", line 21, in <module>
...
from apitools.base.protorpclite import messages
File "/home/toor/pfff/local/lib/python2.7/site-packages/apitools/base/protorpclite/messages.py", line 1165, 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的google数据流来安装apache_beam,因为我需要能够在google平台上运行的版本。
pip install google-cloud-dataflow
我不知道如何解决这个错误。为了完整起见,我在Windows上的ubuntu上的bash上使用python 2.7.12。当在Windows上的ubuntu上运行bash时,我的同事也犯了同样的错误,而直接在Windows上运行也很好。
这些软件包的安装版本如下:
>>> pip freeze
apache-beam==2.1.0
avro==1.8.2
cachetools==2.0.1
certifi==2017.7.27.1
chardet==3.0.4
crcmod==1.7
dill==0.2.6
enum34==1.1.6
funcsigs==1.0.2
future==0.16.0
futures==3.1.1
gapic-google-cloud-pubsub-v1==0.15.4
google-apitools==0.5.11
google-auth==1.1.0
google-auth-httplib2==0.0.2
google-cloud-bigquery==0.25.0
google-cloud-core==0.25.0
google-cloud-dataflow==2.1.0
google-cloud-pubsub==0.26.0
google-gax==0.15.15
googleapis-common-protos==1.5.2
googledatastore==7.0.1
grpc-google-iam-v1==0.11.3
grpcio==1.6.0
httplib2==0.9.2
idna==2.6
mock==2.0.0
oauth2client==3.0.0
pbr==3.1.1
pkg-resources==0.0.0
ply==3.8
proto-google-cloud-datastore-v1==0.90.4
proto-google-cloud-pubsub-v1==0.15.4
protobuf==3.3.0
pyasn1==0.3.5
pyasn1-modules==0.1.4
PyYAML==3.12
requests==2.18.4
rsa==3.4.2
six==1.11.0
urllib3==1.22发布于 2017-09-19 13:09:27
将六级降至1.10.0版
pip install six==1.10.0https://stackoverflow.com/questions/46300173
复制相似问题