计划在 Python 3.20 中移除
*************************

* 调用 "struct.Struct" 的 "__new__()" 方法不带 *format* 参数的做法已被
  弃用并将在 Python 3.20 中移除。 在已初始化的 "Struct" 对象上调用
  "__init__()" 方法的做法已被弃用并将在 Python 3.20 中移除。

  （由 Sergey B Kirpichev 和 Serhiy Storchaka 在 gh-143715 中贡献。）
  .)

* 在这些标准库模块中的 "__version__", "version" 和 "VERSION" 属性已被
  弃用并将在 Python 3.20 中移除。 请改用 "sys.version_info"。

  * "argparse"

  * "csv"

  * "ctypes"

  * "ctypes.macholib"

  * "decimal" (改用 "decimal.SPEC_VERSION")

  * "http.server"

  * "imaplib"

  * "ipaddress"

  * "json"

  * "logging" ("__date__" 也已被弃用)

  * "optparse"

  * "pickle"

  * "platform"

  * "re"

  * "socketserver"

  * "tabnanny"

  * "tarfile"

  * "tkinter.font"

  * "tkinter.ttk"

  * "wsgiref.simple_server"

  * "xml.etree.ElementTree"

  * "xml.sax.expatreader"

  * "xml.sax.handler"

  * "zlib"

  （由 Hugo van Kemenade 和 Stan Ulbrych 在 gh-76007 中贡献。）

* 由 **PEP 829** 定义的弃用：

  * 为在 "*name*.pth" 文件中找到的 "import" 行产生警告。

  * "*name*.pth" 文件将不再以默认语言区域编码格式解码。 它们 **必须**
    使用 "utf-8-sig" 编码。

  （由 Barry Warsaw 在 gh-148641 中贡献。）

* "ast":

  * 创建抽象 AST 节点 (如 "ast.AST" 或 "ast.expr") 的做法已被弃用并将
    在 Python 3.20 中引发错误。

* "typing":

  * 在未显式地使用 "runtime_checkable()" 来装饰但继承自运行时可检测协
    议类的协议类上调用 "isinstance()" 和 "issubclass()" 检测的做法已被
    弃用。 在 Python 3.20 中这会引发 "TypeError"。

    （由 Bartosz Sławecki 在 gh-132604 中贡献。）
