Descriptors cannot not be created directly
时间: 2023-09-19 14:07:44 浏览: 100
Python Descriptors
"Descriptors cannot not be created directly"错误通常意味着在运行深度学习程序时出现了一些问题。据引用所述,这个错误通常是由于使用过时的protobuf代码导致的。为了解决这个问题,有几种可能的解决方法:
1. 更新protobuf版本:根据错误提示,尝试使用最新的protoc版本(>= 3.19.0)重新生成protobuf代码。如果无法立即重新生成protobuf文件,可以尝试降级protobuf软件包至3.20.x或更低版本。
2. 设置PROTOCOL_BUFFERS_PYTHON_IMPLEMENTATION:根据引用中的建议,可以通过设置环境变量PROTOCOL_BUFFERS_PYTHON_IMPLEMENTATION为python来解决问题。不过需要注意的是,这将使用纯Python解析,速度会较慢。
另外,根据引用和引用的信息,也有可能是因为protobuf与其他库之间的版本不兼容导致的错误。在这种情况下,可以尝试重新安装或降级相关的库,比如重新安装或降级pyqt5库(pip install protobuf==pyqt5)或protobuf库(pip install protobuf==3.20.1)。
综上所述,解决"Descriptors cannot not be created directly"错误的方法可能包括更新protobuf版本、设置PROTOCOL_BUFFERS_PYTHON_IMPLEMENTATION环境变量,以及重新安装或降级相关库。具体的解决方法取决于您的实际情况和代码环境。<span class="em">1</span><span class="em">2</span><span class="em">3</span><span class="em">4</span>
#### 引用[.reference_title]
- *1* *2* *3* *4* [Descriptors cannot not be created directly](https://blog.csdn.net/suiyingy/article/details/125218783)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v93^chatsearchT3_2"}}] [.reference_item style="max-width: 100%"]
[ .reference_list ]
阅读全文