【问题标题】:'google.protobuf.descriptor' has no attribute '_internal_create_key'“google.protobuf.descriptor”没有属性“_internal_create_key”
【发布时间】:2021-06-10 06:21:44
【问题描述】:

尝试导入 simpletransformers 时出现以下错误:

Traceback (most recent call last):

  File "...py", line 106, in <module>

    from simpletransformers.classification import ClassificationModel, ClassificationArgs

  File "/home/work/anaconda/lib/python3.6/site-packages/simpletransformers/classification/__init__.py", line 1, in <module>

    from simpletransformers.classification.classification_model import ClassificationModel

  File "/home/work/anaconda/lib/python3.6/site-packages/simpletransformers/classification/classification_model.py", line 32, in <module>

    from tensorboardX import SummaryWriter

  File "/home/work/anaconda/lib/python3.6/site-packages/tensorboardX/__init__.py", line 4, in <module>

    from .record_writer import RecordWriter

  File "/home/work/anaconda/lib/python3.6/site-packages/tensorboardX/record_writer.py", line 18, in <module>

    from google.cloud import storage

  File "/home/work/anaconda/lib/python3.6/site-packages/google/cloud/storage/__init__.py", line 38, in <module>

    from google.cloud.storage.batch import Batch

  File "/home/work/anaconda/lib/python3.6/site-packages/google/cloud/storage/batch.py", line 29, in <module>

    from google.cloud import _helpers

  File "/home/work/anaconda/lib/python3.6/site-packages/google/cloud/_helpers.py", line 33, in <module>

    from google.protobuf import duration_pb2

  File "/home/work/anaconda/lib/python3.6/site-packages/google/protobuf/duration_pb2.py", line 21, in <module>

    create_key=_descriptor._internal_create_key,

AttributeError: module 'google.protobuf.descriptor' has no attribute '_internal_create_key'

我已经尝试升级protobuf 并拥有与此问题相同的protoc 版本: How to solve "AttributeError: module 'google.protobuf.descriptor' has no attribute '_internal_create_key"?

我也尝试升级其他软件包。还有什么问题?

我在云 linux 机器上遇到问题。在我本地的 windows 机器上,没有问题。

【问题讨论】:

    标签: python linux protocol-buffers simpletransformers


    【解决方案1】:

    我遇到了protobuf版本等于protoc的同样问题,错误仍然存​​在。但是重新启动我的计算机后,它的工作。

    【讨论】:

      【解决方案2】:

      我通过 pip show protobuf 和 protoc --version 得到的 protoc 版本不同。 pip 中的版本有点过时了。

      在我升级 pip 版本之后

      pip install --upgrade protobuf
      

      问题解决了。

      如果是python3,使用pip3 install --upgrade protobuf

      【讨论】:

        猜你喜欢
        • 2020-09-07
        • 2012-12-01
        • 1970-01-01
        • 2011-04-14
        • 2020-01-06
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多