根本原因是conda默认通道包版本冲突严重,尤其Windows或旧Anaconda上numpy、scipy、pytorch等科学计算包同时安装易导致求解器卡死;应分步安装、换清华源、PyTorch等指定channel、优先用mamba替代。

conda install 失败提示 “Solving environment: failed” 怎么办
根本原因不是网络慢,而是 conda 默认通道里包版本冲突太严重。尤其在 Windows 或旧版 Anaconda 上,numpy、scipy、pytorch 这类科学计算包一并装,conda solver 很容易卡死或回退到极旧版本。
实操建议:
立即学习“Python免费学习笔记(深入)”;
- 别用
conda install numpy scipy matplotlib pandas一次性全装——拆开,分步装,每次只加 1–2 个核心包 - 优先换源:
conda config --add channels https://mirrors.tuna.tsinghua.edu.cn/anaconda/pkgs/main/,再conda config --set show_channel_urls yes - 装 PyTorch 等带 CUDA 的包时,**必须指定 channel**,比如
conda install pytorch torchvision torchaudio pytorch-cuda=11.8 -c pytorch -c nvidia,漏掉-c就可能装错 CPU 版本 - 实在解不出来?直接用
mamba替代:conda install mamba -c conda-forge,然后用mamba install xxx,速度和成功率都高得多
创建环境时 python=3.9 和 python=3.9.16 有区别吗
有,而且影响不小。conda 对 Python 版本号是「精确匹配」逻辑:写 python=3.9 会拉最新可用的 3.9.x(比如 3.9.19),但某些包(如 numba、tensorflow)只兼容特定小版本,比如只认 3.9.16。
实操建议:
立即学习“Python免费学习笔记(深入)”;
- 生产环境或复现论文代码时,**务必查清原始环境 Python 小版本号**,用
conda create -n myenv python=3.9.16 - 新建环境后立刻运行
python -c "import sys; print(sys.version)"确认,别只信conda list python输出 - 如果已建错,别硬改:
conda activate myenv && conda install python=3.9.16 --force-reinstall更稳妥,避免残留 .pyc 或 site-packages 冲突
pip 和 conda 混用导致 ImportError: cannot import name 'xxx'
这不是路径问题,是 ABI 不兼容。conda 安装的 numpy 带 Intel MKL 加速,pip 装的同名包是 OpenBLAS 版本,二者混在一起,C 扩展模块加载时直接符号找不到。
实操建议:
立即学习“Python免费学习笔记(深入)”;
- 原则:**conda 管底层科学栈(numpy/scipy/pytorch),pip 管上层工具(jupyterlab/streamlit/transformers)**
- 装 pip 包前先
conda activate myenv,再pip install --no-deps xxx,避免 pip 自动拉一堆 conda 已有依赖 - 如果已经混了,别删 site-packages:用
conda list查哪些是 conda 装的,pip list查哪些是 pip 装的,然后pip uninstall xxx清掉 pip 版,再conda install xxx补回 conda 版
Windows 下 jupyter notebook 找不到 conda 环境内核
因为 jupyter kernelspec list 显示的路径里没包含你的 conda 环境,Jupyter 根本不知道那个环境存在,不是启动方式或路径变量的问题。
实操建议:
立即学习“Python免费学习笔记(深入)”;
- 激活目标环境后执行:
python -m ipykernel install --user --name myenv --display-name "Python (myenv)" - 注意
--name是 kernel 名(纯英文+下划线),--display-name是 Jupyter 界面里看到的名字,可含空格和中文 - 删旧 kernel 用:
jupyter kernelspec uninstall myenv,别手动删目录,否则 registry 可能残留 - 如果仍不显示,检查
~/.jupyter/kernels/下对应文件夹里kernel.json的argv字段是否指向正确的python.exe(应为path\to\anaconda3\envs\myenv\python.exe)
conda activate —— 很多人以为装完就自动激活,其实没有。


















