我尝试安装Ray,但它给出了一个错误:
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).
我试图解决这个问题,并降级了 protobuf:
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和Keras中的问题仍然存在。我的应用程序不再工作了。我该如何修复它?
8条答案
按热度按时间j9per5c41#
有时候,protobuf软件包可能在没有您参与的情况下被安装。对于这种情况,您有两种解决方案可供应用。请尝试以下解决方案之一,它应该会起作用。
解决方案1:
您可以降级protobuf插件,
或者你也可以把它作为最后一个包添加到
requirements.txt
文件中,因为这会覆盖之前安装的protobuf包。解决方案2:
可以设置以下环境变量。
根据错误描述,这可能会影响程序性能。
但这将使用纯Python解析,速度会慢得多
参考文献:
soat7uwm2#
在我的例子中,我没有在我的
requirements.txt
文件中显式地包含protobuf
,但是我确实有一个相关的依赖项,这显然是有问题的:googleapis-common-protos==1.6.0 # Depends on protobuf
***删除***这将允许后续的
pip install -e .
(假设存在setup.py
)与google-api-core==1.13.0
的任何依赖项匹配。这将导致安装googleapis-common-protos==1.56.2
并解决错误。2uluyalo3#
或者,我能够升级到
wandb==0.12.17
,一切似乎都在工作。旧(不工作):
新(工作):
e4yzc0pl4#
解决方案1:降级protobuf protobuf最近发布了最新版本,此更新的原因出现此错误。我们需要做的就是将protobuf降级到3. 20. 1,您的错误就会得到解决。要降级protobuf只需在终端上运行此命令。
pip安装--升级“协议缓冲区〈=3.20.1”
或者你可以使用武力
pip安装'协议缓冲区〈=3.20.1' --强制重新安装
现在,你的错误必须得到解决谢谢.
解决方案2:将TensorFlow更新为最新版本TensorFlow已发布最新版本2.9.1于2022年5月23日只需更新其最新版本并于5月5日您的错误将得到解决。
管道安装tensorflow 量==2.9.1
始终使用最新版本的tensorflow
第一次显示一些错误,然后重试。我希望问题将得到解决。
htzpubme5#
无法直接创建描述符:
1.我们需要将protobuf软件包从4.21.2降级到3.20.1。
1.转到设置→ * 项目 * → *Python解释器 * →安装protobuf 3.20.1(指定版本)
ylamdve66#
我发现了同样的问题,但我按照这个网页上的说明:
步骤
要求/先决条件:
1.斯芬克斯4.3.1
1.斯芬克斯-自动构建0.7.1
1.狮身人面像-内联-标签2021.4.11b9
1.主题2021.5
1.斯芬克斯-复制按钮0.4.0
python -V
的输出:Python语言3.8.10
protoc.exe --version
的输出:库协议3.21.0-rc 2
安装:
pip install git+https://github.com/pypa/pypa-docs-theme.git#egg=pypa-docs-theme
1.编译库
1.将编译后的库从F:\temp\Python\protoc\packaging.python.org\protobuf\Debug复制到F:\temp\Python\protoc\packaging.python.org\protobuf\src
输出:
wswtfjt77#
我在升级谷歌云日志后遇到了同样的问题,我通过升级谷歌云审计日志解决了这个问题。
工作版本:
希望这能帮上忙干杯
9cbw7uwe8#
我也遇到过同样错误
我通过安装protobuf解决了这个问题
pip安装协议缓冲区==3.20.*
Screen Snippet