"精确闭包pylint错误提示文档(版本2.4.3):理解风险,避免重复提示"

需积分: 12 2 下载量 153 浏览量 更新于2024-03-16 1 收藏 41KB DOCX 举报
本文档是关于pylint错误提示的整理与总结,主要是针对于用户已经了解并知晓其中风险的错误提示进行精确关闭,以便用户可以更方便地查阅文档(本文档适用于pylint版本2.4.3)。 在pylint中,有很多错误提示,但有一些错误提示是用户已经熟悉的,并且知道其中的风险,不希望在pylint的问题提示里再次被重复提示。因此,为了精确关闭某些错误提示,并方便用户查找相关信息,本文档对这些错误提示进行了整理与总结。 首先就是blacklisted-name (C0102)错误提示,该错误消息表示出现了在黑名单中的名称,属于未经授权的名称。在实际开发过程中,我们可能会经常碰到一些黑名单中的名称,在此情况下我们已经知道风险,不希望再次被提示该错误。因此,我们可以根据具体情况选择关闭该错误提示。 其次是invalid-name (C0103)错误提示,该错误消息表示名称不符合特定类型(常量、变量、类等)的命名规则。在编程规范中,对于不同类型的名称会有不同的命名规则,如果不符合规范会被提示该错误。但有时我们可能在特定情况下需要使用特定的命名方式,这时可以关闭这个错误提示。 再次是empty-docstring (C0112)错误提示,该错误消息表示模块、函数、类或方法的文档字符串为空。良好的文档字符串对于代码的可读性和维护性非常重要,但有时也会出现文档字符串为空的情况,例如在一些简单的函数或类中。针对这种情况,我们可以选择关闭该错误提示。 最后是unneeded-not (C0113)错误提示,该错误消息建议将某些表达式从“not”形式改为其他更简单的形式。这种情况下,我们可能会觉得当前表达式已经足够清晰或简单,不需要再进行改变,因此可以选择关闭该错误提示。 总的来说,本文档整理了一些在实际开发中常见且用户已知风险的pylint错误提示,并提供了关闭该错误提示的方法,以方便用户查阅和使用。通过合理关闭不必要的错误提示,可以提高代码审查和调试的效率,同时也能更好地适应实际开发需求。希望本文档能对关注pylint错误提示的用户有所帮助。

D:\Anaconda\envs\tf1\python.exe C:/Users/夏芷琳/Desktop/VAE-LSTM-for-anomaly-detection-master/codes/train.py Traceback (most recent call last): File "C:/Users/夏芷琳/Desktop/VAE-LSTM-for-anomaly-detection-master/codes/train.py", line 2, in <module> import tensorflow as tf File "D:\Anaconda\envs\tf1\lib\site-packages\tensorflow\__init__.py", line 24, in <module> from tensorflow.python import pywrap_tensorflow # pylint: disable=unused-import File "D:\Anaconda\envs\tf1\lib\site-packages\tensorflow\python\__init__.py", line 52, in <module> from tensorflow.core.framework.graph_pb2 import * File "D:\Anaconda\envs\tf1\lib\site-packages\tensorflow\core\framework\graph_pb2.py", line 15, in <module> from tensorflow.core.framework import node_def_pb2 as tensorflow_dot_core_dot_framework_dot_node__def__pb2 File "D:\Anaconda\envs\tf1\lib\site-packages\tensorflow\core\framework\node_def_pb2.py", line 15, in <module> from tensorflow.core.framework import attr_value_pb2 as tensorflow_dot_core_dot_framework_dot_attr__value__pb2 File "D:\Anaconda\envs\tf1\lib\site-packages\tensorflow\core\framework\attr_value_pb2.py", line 15, in <module> from tensorflow.core.framework import tensor_pb2 as tensorflow_dot_core_dot_framework_dot_tensor__pb2 File "D:\Anaconda\envs\tf1\lib\site-packages\tensorflow\core\framework\tensor_pb2.py", line 15, in <module> from tensorflow.core.framework import resource_handle_pb2 as tensorflow_dot_core_dot_framework_dot_resource__handle__pb2 File "D:\Anaconda\envs\tf1\lib\site-packages\tensorflow\core\framework\resource_handle_pb2.py", line 41, in <module> serialized_options=None, file=DESCRIPTOR), File "D:\Anaconda\envs\tf1\lib\site-packages\google\protobuf\descriptor.py", line 561, in __new__ _message.Message._CheckCalledFromGeneratedFile() 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). More information: https://developers.google.com/protocol-buffers/docs/news/2022-05-06#python-updates

2023-07-22 上传