miniconda是构建极简科学计算环境最有效的方式,仅含python和conda,按需安装、干净可控;pip install numpy/scipy易因缺失blas/lapack等底层库报错或精度异常,而conda自带mkl/openblas二进制绑定,开箱即用且加速默认启用。

直接用 Miniconda 而不是 anaconda,是构建极简科学计算环境最有效的方式——它不预装几百个用不到的包,只保留 python 和 conda 本身,后续按需安装,干净、可控、启动快。
为什么不能直接 pip install numpy scipy?
因为 numpy、scipy 等科学计算库底层依赖 BLAS/LAPACK 等编译优化库,直接用 pip 安装容易触发:ImportError: dlopen: cannot load any more object with static TLS 或运行时数值精度异常。而 conda 自带 MKL 或 OpenBLAS 二进制绑定,开箱即用且默认启用加速。
- 在 CentOS 7 等旧系统上,
pip install scipy常因缺失gfortran或cblas编译失败 -
conda install numpy自动解决 Fortran 运行时、线性代数后端、ABI 兼容性问题 - 同一台机器上混用
pip和conda安装同一包(如pytorch),可能引发Symbol not found错误
创建环境时必须指定 python=3.8 吗?
是的,尤其在复现老项目或论文时。Python 小版本升级(如 3.8 → 3.9)虽兼容,但部分 C 扩展(如旧版 numba、theano)或 wheel 包可能未及时适配,导致 ImportError: Python version mismatch。
-
conda create -n sci38默认使用当前base的 Python 版本,不可靠 - 务必显式写:
conda create -n sci38 python=3.8 - 若镜像已预装 Python 3.8(如 CSDN 星图的
Miniconda-Python3.8镜像),则该命令会复用已有二进制,秒级完成 - 避免用
conda install python=3.8在已有环境中降级,易破坏 conda 自身依赖
如何让 conda install 快得像本地命令?
默认 conda 源在国外,conda install numpy 卡住十几分钟是常态。必须换国内镜像源,否则“极简”会变成“极慢”。
- 执行:
conda config --add channels https://mirrors.tuna.tsinghua.edu.cn/anaconda/pkgs/main/ - 再执行:
conda config --add channels https://mirrors.tuna.tsinghua.edu.cn/anaconda/pkgs/free/ - 最后关掉默认源:
conda config --set show_channel_urls true - 验证:
conda config --show channels应看到清华源排在最前 - 注意:不要用
--add多次添加同一源,否则重复条目会拖慢索引速度
极简不等于“最少包”,而是“刚好够用且无冗余”。真正容易被忽略的是:环境导出时若漏掉 --from-history,environment.yml 会包含所有间接依赖(包括 conda 自动装的 mkl、ca-certificates),导致复现时环境臃肿、不可控。需要精确复现时,始终用 conda env export --from-history > environment.yml。
Python免费学习笔记(深入):立即使用
在学习笔记中,你将探索 Python 的核心概念和高级技巧!











