未直接调用iteritems()却收到Pandas弃用警告?原因及兼容性疑问
Pandas迭代警告问题解答
警告的来源
你看到的这个警告和你的代码无关,根源是PyCharm自带的调试组件(PyDev)内部代码还在使用Pandas已经弃用的iteritems()方法。从警告路径里的pydevd_utils.py就能看出来,这是JetBrains官方插件里的文件,不是你写的代码调用的。
是否需要担心?
完全没必要。这个警告不会干扰你的代码运行,只是调试工具的代码没跟上Pandas的版本更新。只要你自己的代码没直接用iteritems(),就不会有任何功能问题。
未来版本的兼容性
只要你的代码里遵循Pandas的推荐规范——用items()替代iteritems()(如果有迭代需求的话),未来升级Pandas新版本后,你的代码完全可以正常兼容。
如果觉得警告弹窗烦,可以试试两个解决办法:
- 把PyCharm升级到最新版本,新版本一般会修复这类调试工具与第三方库的兼容问题
- 临时屏蔽该警告:可以在PyCharm的Python警告设置里,针对性关闭
FutureWarning的相关提示;或者在代码开头添加一行:import warnings; warnings.filterwarnings("ignore", message="iteritems is deprecated")(不建议全局忽略所有FutureWarning,尽量精准屏蔽)
警告原文参考:
C:\Program Files\JetBrains\PyCharm Community Edition 2021.2.3\plugins\python-ce\helpers\pydev\_pydevd_bundle\pydevd_utils.py:609: FutureWarning: iteritems is deprecated and will be removed in a future version. Use .items instead. for item in s.iteritems():
内容的提问来源于stack exchange,提问作者Pasha Koprov
相关产品推荐
相关产品推荐

