首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >TypeError:不能直接创建描述符

TypeError:不能直接创建描述符
EN

Stack Overflow用户
提问于 2022-05-31 02:47:35
回答 8查看 96.3K关注 0票数 105

我试图安装射线,但是它出现了一个错误:

代码语言:javascript
运行
复制
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).

我试图解决这个问题,并降低了原型机的等级

代码语言:javascript
运行
复制
Name: protobuf
Version: 3.20.0
Summary: Protocol Buffers
Home-page: https://developers.google.com/protocol-buffers/
Author:
Author-email:
License: BSD-3-Clause
Location: d:\opencv\lib\site-packages
Requires:
Required-by: ray, tensorboard, tensorflow

但是,在Ray、TensorFlow喀拉斯中,问题依然存在。我的申请不再起作用了。我怎么才能修好它?

EN

Stack Overflow用户

发布于 2022-06-03 18:20:04

有时,原生质包可能在没有您参与的情况下安装。为此,您有两个解决方案要应用。尝试下面的解决方案之一,它应该可以工作。

解决方案1:

你可以降级原生质插件,

代码语言:javascript
运行
复制
pip install protobuf==3.20.*

或者您可以将它作为最后一个包添加到requirements.txt文件中。因为这将覆盖先前安装的原生质包。

代码语言:javascript
运行
复制
...
protobuf==3.20.*

解决方案2:

可以设置以下环境变量。

代码语言:javascript
运行
复制
export PROTOCOL_BUFFERS_PYTHON_IMPLEMENTATION=python

根据错误描述,这可能会影响程序性能。

但是这将使用纯Python解析,而且要慢得多。

参考文献:

票数 124
EN
查看全部 8 条回答
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/72441758

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档