开发者社区 > 大数据与机器学习 > 大数据开发治理DataWorks > 正文

DataWorks这个是什么问题呀?

DataWorks这个是什么问题呀?typeerror:不能直接创建描述符。如果此调用来自_pb2.py文件,则您生成的代码已过期,必须使用protoc>=3.19.0重新生成。如果您不能立即重新生成protos,则其他一些可能的解决方法是:1。将protobuf软件包降级至3.20.x或更低。2.设置PROTOCOL_BUFFERS_PYTHON_ECTION=PYTHON(但这将使用纯PYTHON解析,速度会慢得多)。typeerror: Descriptors cannot not be created directly.If this call came from a _pb2.py file, your generated code is out of date and must be regenerated with protoc >= 3.19.0.If you cannot immediately regenerate your protos, some other possible workarounds are: 1. Downgrade the protobuf package to 3.20.x or lower. 2. Set PROTOCOL_BUFFERS_PYTHON_IMPLEMENTATION=python (but this will use pure-Python parsing and will be much slower).

展开
收起
真的很搞笑 2023-11-13 11:27:29 232 0
2 条回答
写回答
取消 提交回答
  • 这个错误信息是因为你在使用Python的protobuf库时,使用的版本过低导致的。protobuf库是一个用于序列化结构化数据的库,它提供了一种方法来定义和创建复杂的数据结构,然后通过二进制格式在网络中发送这些数据结构。

    解决这个问题的方法有两个:

    1. 升级你的protobuf库:你可以尝试升级你的protobuf库到最新的版本,这个版本应该包含了修复这个问题的代码。你可以使用pip或者conda来升级你的protobuf库。

    2. 使用旧版本的protobuf库:如果你无法升级你的protobuf库,你可以尝试使用旧版本的protobuf库。但是这个选项可能会导致你的程序在某些方面变得不那么高效。

    2023-11-30 16:57:37
    赞同 1 展开评论 打赏
  • 面对过去,不要迷离;面对未来,不必彷徨;活在今天,你只要把自己完全展示给别人看。

    该问题是由Protobuf Python库版本冲突引起的。在安装Protobuf Python库的过程中,有时会与旧版的Python编译器产生冲突,导致不能直接创建描述符,进而引发此错误消息。
    解决方法如下:

    1. 将protobuf软件包降级至3.20.x或更低版本。
    2. 设置PROTOCOL_BUFFERS_PYTHON_IMPLEMENTATION=python环境变量。这样可以使Protobuf使用纯Python解析,虽然速度会变慢,但可以暂时解决此问题。
    2023-11-13 14:13:32
    赞同 展开评论 打赏

DataWorks基于MaxCompute/Hologres/EMR/CDP等大数据引擎,为数据仓库/数据湖/湖仓一体等解决方案提供统一的全链路大数据开发治理平台。

相关电子书

更多
低代码开发师(初级)实战教程 立即下载
冬季实战营第三期:MySQL数据库进阶实战 立即下载
阿里巴巴DevOps 最佳实践手册 立即下载