我需要降级numpy,因为我刚刚安装了一个升级的numpy包,它现在与其他几个包不兼容。
然而,我在网上找到的标准修复程序不起作用。我已运行:
pip3 install numpy==1.19.5
和
pip3 install --upgrade numpy==1.19.5
但是当我运行python3 -c "import numpy; print(numpy.__version__)"
时,我仍然得到1.20.3
。
我得到消息Successfully installed numpy-1.19.5
,但我也得到错误:
ERROR: pymatgen 2022.0.4 has requirement numpy>=1.20.1, but you'll have numpy 1.19.5 which is incompatible.
等等,所以我怀疑这意味着升级被绕过了。
然而,非常令人困惑的是,我已经检查了目录/usr/local/lib/python3.8/dist-packages
,但它仍然包含numpy-1.19.5.dist-info
。
我甚至尝试过--no-cache-dir -I
和--force-reinstall
选项,没有骰子。
我做了一些快速实验,发现如果我满足以下条件:
- 启动python内核。我只是简单地打开IDLE
- 安装一个新版本的numpy或完全卸载它
- 在卸载/更新numpy之前运行的内核中运行
import numpy
- 运行
print(numpy.__version__)
我得到了与启动内核时安装的numpy相同的版本。我不知道为什么会这样。
如果我这样做:
- 重新启动shell(在IDLE中按Ctrl+F6(
- 运行
import numpy
- 运行
print(numpy.__version__)
我得到了新安装的numpy版本。
我已经解决了这个问题。
我用python3-m而不是pip3安装了软件,所以我运行了:
python3 -m pip install numpy==1.19.5