我正在运行依赖于 这个包 的代码。它使用 numpy v2.0 中已弃用的语法。我知道这个问题,并且正在使用带有 numpy 1.26.4 的 conda 虚拟环境。但是,当我运行代码时,我仍然收到以下错误。有人知道发生了什么事吗?另一个包是否有可能以某种方式导入 numpy 2.0 或其他东西?
AttributeError: `np.Inf` was removed in the NumPy 2.0 release. Use `np.inf` instead.. Did you mean: 'inf'?
该代码可以在我的笔记本电脑上运行,但问题在于在我有权访问的远程计算集群上运行该代码。我已经检查了 qnmfits 的要求,并且两个环境都列出了相同版本的每个包(在 python 3.12 上:numpy 1.26.4、scipy 1.13.1、numba 0.60.0、tqdm 4.66.4)。
你说的对,即使你的 conda 环境显示 numpy 的版本是 1.26.4,还是有其他的包在引入 numpy 2.0 (或更高版本)。这很有可能是因为包的依赖没有被正确地管理。
以下是一些可以尝试的解决方法:
-
升级所有包 : 有可能
qnm
的依赖包中,有些已经更新到依赖 numpy 2.0 的版本了。尝试在你的 conda 环境中运行pip install --upgrade -r requirements.txt
(如果你的项目使用requirements.txt
来管理依赖)或者pip install --upgrade <package_name>
来升级所有相关的包,包括qnm
本身。 -
查找并固定问题包 :
-
使用
pip
检查 : 运行pip list | grep numpy
来检查是否有多个 numpy 版本安装在你的环境中。如果有,找到是哪个包引入了 numpy 2.0 版本。你可以使用pipdeptree
来查看包的依赖树,找到罪魁祸首。 -
逐个排除
: 尝试注释掉你的代码中非
qnm
的部分,然后逐个运行,观察哪个包引入了 numpy 2.0。
-
使用
-
创建新的 conda 环境 : 为了完全避免潜在的冲突,你可以创建一个全新的 conda 环境,并只安装必要的包:
conda create -n new_env python=3.12 conda activate new_env pip install qnm # 以及其他必要的包
然后,在新环境中运行你的代码,确保问题是否解决。
-
联系
qnm
的开发者 : 如果以上方法都无法解决问题,你可以尝试联系qnm
的开发者,寻求他们的帮助。他们可能已经知道这个问题,并提供解决方案。
希望这些方法能帮你解决问题。
标签:python,numpy,attributeerror From: 78809429