当前位置: 首页 > 图灵资讯 > 行业资讯> Anaconda怎么安装指定版本的Numpy

Anaconda怎么安装指定版本的Numpy

来源:图灵python
时间: 2026-08-13 11:16:15
conda install numpy=1.24.3 是 Anaconda 指定版本安装在环境中 numpy 激活目标环境,确认推荐方法 channel 如果失败,应优先考虑支持 conda-forge 源或重装 mkl/vs2015_runtime 运行时,而不是混用 pip。

 

conda install numpy=版本号 这是唯一可靠的方法

在 Anaconda 在环境中安装指定版本 numpy,必须用 conda install numpy=1.24.3 这种等号语法不能使用 pip install numpy==1.24.3 后者很有可能导致依赖冲突或冲突 DLL 加载失败。

原因很简单:conda 会同时校验 Python 版本,编译器(如 VS2019)、数学库(MKL/OpenBLAS)和平台架构(win-64 / win-arm64),而且 pip 只管 wheel 包是否匹配 Python 其他版本都靠运气。

  • 实施前确认目标环境已激活:conda activate myenv
  • 查看可用版本列表(避免拼错):conda search numpy,注意看右侧 channel 列,优先选 anacondaconda-forge
  • 若提示 “PackagesNotFoundError",说明当前版本没有被当前版本, channel 收录,可临时加源:conda install -c conda-forge numpy=1.24.3
为什么 conda list 显示版是对的,但是 import 报错 DLL 找不到?

典型的错误信息是:ImportError: DLL load failed while importing _multiarray_umath。这不是版本装错了,而是版本装错了。 numpy 二进制包与当前环境运行时库不兼容—从 defaults channel 装了新版 numpy,但环境中 vs2015_runtimemkl 版本太旧。

  • 强制重装配套运行时:conda install mkl vs2015_runtime
  • 或者回到更兼容的组合:conda install numpy=1.21.6 python=3.9(这两个版本在那里 Win10/Win11 上长期稳定)
  • 不要手动删 site-packages/numpy 下的 .dll 文件——conda 这种变化不会跟踪,下次更新会直接崩溃
PyCharm / VSCode 里 import 成功但版本不对?

根本原因是 IDE 绑定的解释器路径没有指向您刚刚安装的解释器路径 numpy 的那个 conda 环境。比如你在 myenv 里装了 numpy=1.24.3,但 PyCharm 默认用了 base 环境解释器。

  • 在 PyCharm 中:File → Settings → Project → Python Interpreter → 点击右上角的齿轮 → Add → Conda Environment → Existing environment → 浏览到 ...Anaconda3envs\myenv\python.exe
  • 在 VSCode 中:Ctrl+Shift+P → “Python: Select Interpreter” → 手动找到 envs/myenv/python.exe
  • 验证方法不是看 IDE 相反,打开终端,自动完成,cd 运行到项目目录:python -c "import numpy as np; print(np.__version__)"
conda install numpy=x.y.z 失败后不要急着换 pip

UnsatisfiableError 时,90% 因为现在的环境有不兼容的包(比如 scipy 锁死了 numpy)。强行用 <code>pip 覆盖只会让 conda list 和实际 site-packages 版本撕裂。

  • 首选方法:新建清洁环境:conda create -n clean_numpy python=3.9 numpy=1.24.3
  • 次选方法:卸载冲突包再试:conda remove scipy pandasconda install numpy=1.24.3
  • 绝对避免:pip install --force-reinstall numpy==1.24.3 —— conda 后续所有 update/upgrade 可能会使环境瘫痪

真正的麻烦不是命令输错,而是认为“安装”已经完成了——NumPy 的 C 一旦加载失败,错误往往会延迟到调用 np.linalg.svd()np.random.default_rng() 时才暴露。