openlang

Python 的 import 该怎么写才能消除这个弃用警告?

你好,我刚开始用 Python。现在有个 DeprecationWarning,说通过 'collections' 而不是 collections.abc 使用或导入 ABC,在 Python 3.10 就不能工作了

import pymssql as pymssql

导入系统文档(https://docs.python.org/3/reference/import.html)看起来在技术上很准确,但无论怎样组合 from 和 import,我都会得到语法错误。

我在 Raspberry Pi 的 armv7l GNU/Linux 上运行 python 3.9.2

python3 -m pip show pymssql 显示安装位置在 /usr/lib/python3/dist-packages 下

那个目录里有 pymssql-2.1.4.egg-info 和 pymssql.cpython-39-arm-linux-gnueabihf.so

能告诉我需要的 import 语句是什么吗?

从英语翻译查看原文

后续讨论 3

顺着彼此的依据读下去
  1. 固定链接

    你好,我刚开始用 Python。现在有个 DeprecationWarning,说通过 'collections' 而不是 collections.abc 使用或导入 ABC,在 Python 3.10 就不能工作了 import pymssql as pymssql

    请贴出你看到的完整异常回溯。很可能不是你自己写的代码有问题,而是 pymssql 内部的问题,因为第三方包发出这类警告的情况很常见,需要沿着回溯检查,才能确定这次警告究竟来自哪里。

    另外,我注意到似乎有更新的 pymssql 版本。由于缺少必要的前置组件,你用的版本和新版本我都无法安装,不过值得考虑升级。顺便说,项目 GitHub(https://github.com/pymssql/pymssql/)里的 “Releases” 列表容易误导人,似乎从 2020 年以后就没有在那里发布过版本了。但这个仓库里的开发看起来仍很活跃。我找到一个描述相同警告的已关闭 issue(https://github.com/pymssql/pymssql/issues/576),里面说 2.1.5 包含了修复,因此升级到 2.1.x 或者 2.3,很有希望解决问题。

    从英语翻译查看原文
  2. 固定链接

    太好了,谢谢 Tavin 花时间调查!我以为是自己的错,因为大约 99.8% 的时候确实都是我的问题。好吧,我会试着安装当前可用的 pymssql 版本,在这之前先屏蔽 Deprecation 警告,并注意只排除 pymssql 的警告。你大概看出来了,我更愿意用用户多、支持好的 mysql,不过……“客户想要什么就得给什么” :wink: 我的大约 200 行代码已经能工作了,就不拿出来让大家无聊或接受应得的批评了。再次感谢!

    从英语翻译查看原文
  3. 固定链接

    我以为是自己的错,因为大约 99.8% 的时候确实都是我的问题。

    这样想是个不错的起点 :slight_smile: 不过学会看回溯后,就能识别出来自库的问题。

    你大概看出来了,我更愿意用用户多、支持好的 mysql,不过……“客户想要什么就得给什么”

    我没有反对使用 MS SQL Server 的意思[1] (#footnote-409572-1),只是我没有安装相关组件,没法马上建一个 venv,试着安装几个版本,看哪些会出现相同问题。

    很高兴能帮上忙!

    不过我个人最喜欢的还是 PostgreSQL!↩︎ (#footnote-ref-409572-1)

    从英语翻译查看原文

同一个问题的其他角度

  1. 减少 docker-compose 的控制台输出

    在开发环境里用 docker-compose up 启动所有服务时,我的几个容器会输出几百行又几百行内容。有没有方便的办法过滤这些输出,或者更好一些,让这些服务在 docker-compose up 运行时不要写到标准输出?

    回复 3最近活动 bash
  2. 能否用 D 代替 C 编写 Python 扩展模块?

    看来 D 能与 C 链接。我想用 D 编写 Python 扩展模块。我是不是漏掉了什么原因,导致这种方法根本无法运行?

    回复 2最近活动 d
  3. 通过 Nix 声明 Micro 插件?🤔

    python 可以这样写。 Python.withPackages (q: with q; [ fastapi ]) Micro 编辑器有类似的机制吗? 能不能把 micro 编辑器的软件包和插件一起指定?:thinking: 那样会方便很多。

    回复 3最近活动 nix