如何解决“VisibleDeprecationWarning:zmq.eventloop.minitornado 已弃用”?

Posted

技术标签:

【中文标题】如何解决“VisibleDeprecationWarning:zmq.eventloop.minitornado 已弃用”?【英文标题】:How to solve "VisibleDeprecationWarning: zmq.eventloop.minitornado is deprecated"? 【发布时间】:2019-10-18 04:17:30 【问题描述】:

当我使用 iPython 运行一些脚本时,我在 iTerm 中收到以下警告消息:

/Users/###/anaconda3/lib/python3.6/site-packages/ipykernel/displayhook.py:12: VisibleDeprecationWarning:zmq.eventloop.minitornado 在 pyzmq 14.0 中已弃用并将被删除。 安装 tornado 本身以将 zmq 与 tornado IOLoop 一起使用。

当我尝试在 Visual Studio Code 中运行我的代码时,我收到以下错误消息:

Error message in VSCode

我已经尝试更新 Anaconda,我也已经尝试使用 conda 安装 nomkl,但没有任何成功。

感谢您的帮助!

Mac OS 10.14.6 上的 iTerm 和 VisualStudio,Anaconda 已更新 (4.7.12)

【问题讨论】:

【参考方案1】:

补救方案 A)

使用 anaconda-tools 分隔环境,例如 aLastWorkingENV,您可以使用 anaconda-tooling 将所有组件回滚到最后的工作状态,这确实不要抱怨未来的弃用。在这样的aLastWorkingENV 环境中,所有因此同步的程序都将运行顺利(就像他们在第一次组件更新之前所做的那样,这已经移动了棒)

补救方案 B)

使用 anaconda-tools 将所有当前组件及其所有支持模块和所有软件包版本 [ python, ipython, pyzmq, jupyter, ..., ] 更新到其最新版本,产品 QA 覆盖范围应确认 PASS,或提供补救措施或解决方法或最后一个无故障版本(根据此类异常(如果存在且相关)最终降级一个此类软件包)

无论哪种方式,您的代码都将停止抛出软警告并保持这种状态,直到发生任何不协调的包更新。

【讨论】:

感谢您的回答。选项 A) 是否意味着创建一个虚拟环境并(重新)安装我正在使用的所有包(每次我想将 iPython 用于新项目时)?关于选项 B),如果我必须降级一个软件包,我怎么知道是哪一个?我已经尝试使用 $ conda update --all 更新“所有”包,它应该在必要时自动降级包......不是吗? 选项 B) 假设所有包管理器都已经解决了未来弃用(冲突)的语法/功能/设计。如果尚未解决,即使使用最新的软件包,您也会面临这些警告 - 检查/向软件包维护者报告此类冲突。选项 A) 最好由 anaconda 文档解释。遵循相应模块/包的发布日期,可以创建连贯工作的旧版本。理由是不要混合不能一起工作的版本。 Conda 环境是实现这一目标的最简单有效的工具。

以上是关于如何解决“VisibleDeprecationWarning:zmq.eventloop.minitornado 已弃用”?的主要内容,如果未能解决你的问题,请参考以下文章

如何解决包冲突问题

如何解决包冲突问题

如何解决ajax跨域问题

MySQL 的 10048问题,如何解决?

如何解决smartgit的冲突问题

如何解决https传输图片的问题