Miniforge
为什么conda装包那么难用??? - 知乎
终端中运行 conda install 命令后一直显示“Solving environment: \ ”conda一直在solving environment-CSDN博客
性能 — conda 25.1.1 文档 - Conda 包管理器
Miniforge: conda, mamba and conda-forge — Fluiddyn Howto book
Anaconda vs. Miniconda vs. Miniforge - 知乎
conda太慢怎么办,使用mamba代替龟速conda - 知乎
Miniforge —— 轻量化的 conda 解决方案-CSDN博客
企业可商用的conda:「Miniforge」+「conda-forge」 - 教程 - yjbjingcha - 博客园
Windows下我从Anaconda转向了Miniforge,后者没那么臃肿。mamba已经自动预装好
Miniconda
Ubuntu下deb版本Miniconda
RPM and Debian Repositories for Miniconda — conda 25.5.2.dev69 documentation
Anaconda | RPM and Debian Repositories for Miniconda
Miniforge没有预构建的deb包,我还是用Miniconda。直接用下面的指令一键安装
# Install our public GPG key to trusted store
curl https://repo.anaconda.com/pkgs/misc/gpgkeys/anaconda.asc | gpg --dearmor > conda.gpg
install -o root -g root -m 644 conda.gpg /usr/share/keyrings/conda-archive-keyring.gpg
# Check whether fingerprint is correct (will output an error message otherwise)
gpg --keyring /usr/share/keyrings/conda-archive-keyring.gpg --no-default-keyring --fingerprint 34161F5BF5EB1D4BFBBB8F0A8AEB4F8B29D82806
# Add our Debian repo
# echo "deb [arch=amd64 signed-by=/usr/share/keyrings/conda-archive-keyring.gpg] https://repo.anaconda.com/pkgs/misc/debrepo/conda stable main" > /etc/apt/sources.list.d/conda.list
# **NB:** If you receive a Permission denied error when trying to run the above command (because `/etc/apt/sources.list.d/conda.list` is write protected), try using the following command instead:
echo "deb [arch=amd64 signed-by=/usr/share/keyrings/conda-archive-keyring.gpg] https://repo.anaconda.com/pkgs/misc/debrepo/conda stable main" | sudo tee -a /etc/apt/sources.list.d/conda.list
sudo apt update
sudo apt install conda
注意,每次使用conda前需要
source /opt/conda/etc/profile.d/conda.sh
或者一劳永逸的办法,参照初始化
如果只想在VSCode中一劳永逸,参照VSCode自动激活
换源,参见换源
日常使用,参见管理虚拟环境
安装包裹想提速,推荐在base下安装个mamba
Conda
这是什么
我认为它其实是更像docker的环境管理器,在功能上Conda可以看作是 pip 和 virtualenv 的组合,但实际上conda还包括python之外的包。pip不管理环境,且不将python视为包
Pip安装的python包来源于PyPI 。PyPI 上没有发行底图软件包,它只是指向实际下载位置(SourceForge)的简单注册页面。
Conda从自己的存储库中提取资源,通常使用Conda针对社区所打造的通用便捷库。在默认配置下,conda可以安装和管理来自repo.anaconda.com仓库的7,500多个软件包,该仓库由Anaconda生成,审查和维护。
也许应该将Conda与Buildout进行比较,后者是另一个可以让您处理Python和非Python安装任务的工具。
自编写此答案以来,Anaconda 关于理解Conda和Pip上已经发布了新的页面(https://www.anaconda.com/understanding-conda-and-pip/),该页面上说道:
这凸显了conda和pip之间的关键区别。Pip安装Python软件包,而conda安装软件包,其中可能包含以任何语言编写的软件。例如,在使用pip之前,必须通过系统软件包管理器或下载并运行安装程序来安装Python解释器。另一方面,Conda可以直接安装Python软件包以及Python解释器。
有时需要一个软件包,该软件包不是conda软件包,但在PyPI上可用,可以与pip一起安装。在这些情况下,尝试同时使用conda和pip是有意义的。
配置文件位于
- Windows:
C:\Users\<username>\.condarc - Linux/macOS:
~/.condarc
python原生venv不香嘛……不香。我不想把Ubuntu预装的python污染了,也不想用那么新版的python
换源
miniconda更换清华源踩坑 - 简书
conda config — conda 25.7.0 documentation
conda Collecting package metadata (repodata.json)卡住或 failed问题_collecting package metadata (repodata.json):-CSDN博客
conda Collecting package metadata (repodata.json)卡住或 failed问题 - SBOOK灵感之窗
conda 中如何移除默认源 - 小鲨鱼2018 - 博客园
conda删除默认的镜像源-CSDN博客
问题描述:conda换清华源后,下载时在Collecting package metadata (repodata.json)出现卡顿或者失败
问题原因:使用代理软件(clash for windows)
解决方法:将.condarc中的清华源的https全部换成http,或者将代理软件设置为全局代理
代理问题解决,但必须一直挂着梯子才能勉强连上,很慢,不挂梯子根本用不了。在我放弃anaconda并换成miniforge,并把conda换成mamba后,终于找到了我安装卡顿和失败的罪魁祸首(当然,解决完mamba的网络问题后,mamba开始快到飞起,conda还是一塌糊涂):
critical libmamba Multiple errors occurred:
Download error (35) SSL connect error [https://repo.anaconda.com/pkgs/main/noarch/repodata.json]
schannel: next InitializeSecurityContext failed: CRYPT_E_REVOCATION_OFFLINE (0x80092013) - The revocation function .
Subdir pkgs/main/noarch not loaded!
Subdir pkgs/r/noarch not loaded!
Subdir pkgs/msys2/noarch not loaded!
Subdir conda-forge/noarch not loaded!
If you run into this error repeatedly, your package cache may be corrupted.
Please try running `mamba clean -a` to remove this cache before retrying the operation.
If you still are having issues, please report the error on `mamba-org/mamba`'s issue tracker:
https://github.com/mamba-org/mamba/issues/new?assignees=&labels=&projects=&template=bug.yml
通过conda info可以看到
populated config files : C:\ProgramData\miniforge3\.condarc
C:\Users\enoch\.condarc
所以只要有官方源残留,网络连接就可能失败,下载包就可能卡死或失败,一定要把旧源删除!
- 一个
detault源藏在%HOMEPATH%/.condarc中 - 还有一个
conda-forge的源藏在C:\ProgramData\miniforge3\.condarc中
所以换源切记按下面的方式换(https挂梯子全局代理易出问题,采用http)
conda config --show channels
conda config --remove channels defaults
conda config --system --remove channels conda-forge
conda config --system --add channels http://mirrors.tuna.tsinghua.edu.cn/anaconda/pkgs/free/
conda config --system --add channels http://mirrors.tuna.tsinghua.edu.cn/anaconda/cloud/conda-forge
conda config --system --add channels http://mirrors.tuna.tsinghua.edu.cn/anaconda/cloud/msys2/
conda config --system --add channels http://mirrors.tuna.tsinghua.edu.cn/anaconda/cloud/pytorch/
conda config --system --get channels
(可选)设置搜索时显示通道地址,便于诊断问题(mamba的显示非常详尽,看来不需要了)
conda config --set show_channel_urls yes
conda config --show show_channel_urls
最终C:\ProgramData\miniforge3\.condarc如下
channels:
- http://mirrors.tuna.tsinghua.edu.cn/anaconda/cloud/pytorch/
- http://mirrors.tuna.tsinghua.edu.cn/anaconda/cloud/msys2/
- http://mirrors.tuna.tsinghua.edu.cn/anaconda/cloud/conda-forge
- http://mirrors.tuna.tsinghua.edu.cn/anaconda/pkgs/free/
可以用conda info检查一下整体配置信息,看到镜像源也成功配置

初次使用
import sys; sys.executable
用它来检验python安装位置。选择Interpreter后,VSCode告诉我已经进入了环境,但是不显示环境名。
Activate Environments in Terminal Using Environment Variables · microsoft/vscode-python Wiki
解决vscode终端不显示conda环境变量名称问题【详细步骤!实测可行!!】vscode不显示conda虚拟环境-CSDN博客
(48 封私信 / 80 条消息) conda虚拟环境名称无法在vscode中的powershell显示的问题 - 知乎
于是对于bash,每次都要输入
source /opt/conda/etc/profile.d/conda.sh
对于powershell,每次都要输入
C:\ProgramData\anaconda3\shell\condabin\conda-hook.ps1
即可。因为我不想初始化
取消初始化,仅在VSCode使用
conda init — conda 25.1.1 文档 - Conda 文档
一打开终端就默认进入conda的base环境,取消方法_conda开机进入base环境-CSDN博客
Anaconda太霸道了!(conda deactivate退出虚拟环境)miniconda-CSDN博客
安装conda后取消命令行前出现的base,取消每次启动自动激活conda的基础环境, 使用ubuntu 自带的Python环境 - clemente - 博客园
因为Linux通常自带python解释器,我不希望系统内部运行的python被conda接管,所以可以取消初始化。
conda init --reverse # Undo effects of last conda init.
也可以对指定的终端进行修改
conda init --reverse bash
在终端中每次使用前还要参照“初次使用”的命令。
新版本的VSCode会尝试激活环境,但只能莫名其妙弹个不起作用的窗
vscode新建终端时自动激活conda会弹窗powershell? - 知乎
python - 如何避免 conda activate base 在我的 VS Code 编辑器中自动执行?Stack Overflow中文网
CMD window show up during conda env activation on Windows · Issue #20836 · microsoft/vscode-python
Setting up conda in powershell for Windows, activating on powershell startup
原因是,下面的命令会在vscode指定conda环境时自动输入。第一句话就能让终端发现conda
C:\ProgramData\miniforge3\Scripts\activate
conda activate XXX
但是它只对cmd和bash有效,对powershell会进入bash的脚本,创建一个cmd进程然后马上退出cmd从而没有变化
实际上,本来VSCode的Python插件应该修复这个漏洞,把自动执行的C:/ProgramData/miniforge3/Scripts/activate换成C:\\ProgramData\\miniforge3\\shell\\condabin\\conda-hook.ps1
或者Conda修复这个漏洞,让activate能够支持PowerShell
先尝试走conda这条路
在WIN10 PowerShell中使用并激活Anaconda虚拟环境 - 知乎
powershell下利用Anaconda创建并激活python虚拟环境_powershell 进anaconda-CSDN博客
解决Win10 PowerShell无法激活Anaconda环境的问题 - Dereen - 博客园
BCSharp/PSCondaEnvs: Implementation of Conda's activate/deactivate functions in Powershell.
Liquidmantis/PSCondaEnvs: Drop in replacement scripts that replicate Conda's activate/deactivate commands in Powershell.
Pscondaenvs | Anaconda.org
这个pscondaenvs已经过时了,conda这条路走不通。即使自创一个activate.ps1如下
. "$PSScriptRoot/../shell/condabin/conda-hook.ps1"
conda activate
VSCode也不能正确执行,还是自动执行C:/ProgramData/miniforge3/Scripts/activate而非C:/ProgramData/miniforge3/Scripts/activate.ps1。我不想把activate文件暴力替换,因为这是留给bash的脚本。
而VSCode呢,只有"python.terminal.activateEnvironment": true一条设置,根本无法指定activate的路径。常规的配置方法走不通。
CMD window show up during conda env activation on Windows · Issue #20836 · microsoft/vscode-python
A bash script (AnaConda/Scripts/activate)cause a pop-up cmd window in Windows11. · Issue #15106 · conda/conda
vscode opens the terminal to automatically execute the environment activation command, and opens the cmd window · Issue #259970 · microsoft/vscode
最终我在Powershell中设置一个别名
Set-Alias "C:/ProgramData/miniforge3/Scripts/activate" "C:/ProgramData/miniforge3/shell/condabin/conda-hook.ps1"
也就是在VSCode的settings.json中设置
"terminal.integrated.profiles.windows": {
"PowerShell": {
"source": "PowerShell",
"icon": "terminal-powershell",
"args": ["-NoExit", "-Command", "Set-Alias 'C:/ProgramData/miniforge3/Scripts/activate' 'C:/ProgramData/miniforge3/shell/condabin/conda-hook.ps1'"]
}
}
唉,终于好使了(ᗜˬᗜ)
新问题:如果我这样设置settings.json,会导致我的任何tasks.json的配置无法使用,因为Powershell无法接收两个-Command参数。
最终我在D:\Documents\WindowsPowerShell\profile.ps1(conda init会影响到的配置文件)添加 ```
Set-Alias 'C:/ProgramData/miniforge3/Scripts/activate' 'C:/ProgramData/miniforge3/shell/condabin/conda-hook.ps1'
全局性地设置了别名。唉
管理虚拟环境
Anaconda conda常用命令:从入门到精通_conda list-CSDN博客
使用conda安装requirement.txt指定的依赖包_conda requirements txt安装-CSDN博客
创建虚拟环境(同时安装必要的包)
conda create -n env_name python=3.8
conda create -n env_name numpy matplotlib python=3.8
激活虚拟环境
conda activate env_name
查询、搜索、检查、更新包
conda list
conda search package_name
conda list pkgname # 检查是否安装这个包
conda update numpy
指定镜像源的安装包
conda create -n env_name python=3.12 -c https://mirrors.tuna.tsinghua.edu.cn/anaconda/pkgs/free/
conda install -c 镜像源 包名
conda install pkg_name -c conda_forge
卸载包及其被依赖者
conda uninstall package_name
两种方法退出虚拟环境
conda activate # 激活默认的base环境
conda deactivate # 解除默认的当前环境
删除指定虚拟环境及其中所安装的所有包
conda remove --name env_name --all
只删除虚拟环境中的某个或者某些包
conda remove --name env_name package_name
导出环境(类似requirements.txt)
conda env export --name myenv > myenv.yml # 获得环境中的所有配置
conda env create -f myenv.yml # 重新还原环境
重命名
conda rename -n old_name new_name
环境重置
- 安装新的安装包后导致原先的功能无法使用,需要回滚到之前的位置
conda list --revisions

conda install --revision [revision number]
举个例子
conda install --revision 0

如图回滚成功

大功告成,缺什么包安装就可以!!!
清理conda缓存
1.手动清理缓存
conda clean -p # 删除没有用的包 --packages
conda clean -t # 删除tar打包 --tarballs
conda clean -y -all # 删除所有的安装包及cache(索引缓存、锁定文件、未使用过的包和tar包)
conda clean --all
conda clean -h # 帮助
该命令将清除conda缓存中的所有不必要的文件。执行此命令后,conda将删除conda缓存目录中的所有文件。如果不希望删除所有缓存文件,则可以使用以下命令:
conda clean --packages
该命令将仅清除当前conda环境中的软件包缓存。我们可以每隔一段时间手动清理一次缓存,以获得最佳体验。
2.自动清理缓存
我们可以设置自动清理conda缓存。要设置自动清理功能,请运行以下命令:
conda config --set auto_remove_cached True
此命令将在conda安装或更新软件包时自动清理conda缓存。
Anaconda
还是搞不懂Anaconda是什么?读这一篇文章就够了-CSDN博客
~~Windows环境下我选择整个anaconda,就像普通大型软件一样安装,非常省心。~~臃肿的专有软件,放弃。投入Miniforge的怀抱。
ANACONDA是一个包含180+的科学包及其依赖项的发行版本。可以创建一个独立的Python环境,添加了许多常用的功能包,同时Anaconda还附带捆绑了两个非常好用的交互式代码编辑器(Spyder、Jupyter notebook)
如果不设置环境变量,也不初始化,那每次使用前请运行
C:\ProgramData\anaconda3\shell\condabin\conda-hook.ps1
或者一劳永逸的办法,参照[初始化]
如果只想在VSCode中一劳永逸,参照VSCode自动激活
隐藏Anaconda Navigator弹窗
右上角File→Preferences
- Hide quit dialog
- Hide update dialog on startup
- Hide "what's new" dialog on startup
Conda可选操作
可选:初始化
要想让终端自动发现conda,我又不想破坏PATH环境变量,一个可选的方案是,初始化。
(48 封私信 / 80 条消息) conda的初始化问题 - 知乎
我不喜欢把conda放进PATH。导致电脑找不到conda程序位置。
参照“初次使用”的命令,先让终端能够发现conda;运行以下命令来初始化 Conda:
conda init
- 这条命令会配置你的 shell,使其在启动时自动加载 Conda。你可以指定特定的 shell,例如
conda init bash或者conda init zsh
Windows下,这会重启终端,应该会出现报错如下:

这时候打开Windows PowerShell(管理员身份打开),输入以下命令:
Set-ExecutionPolicy -ExecutionPolicy RemoteSigned
在弹出信息之后输入 y ,即可
重启VSCode,修改设置后,重启VSCode以确保更改生效。最后成功显示
这样的副作用是,一旦打开终端,base环境就被激活。实际上每次只要输入
conda deactivate base
就可以回到系统默认的Python。可以在conda的设置里面取消这个
一打开终端就默认进入conda的base环境,取消方法_conda开机进入base环境-CSDN博客
- 方法一 输入conda config --show,会显示所有的配置信息。注意到有:

然后就可以利用conda config --set来修改此配置:
conda config --set auto_activate_base false
然后重启终端即可。
- 方法二 在用户路径下(一般为C:\users\username,linux的话就是/home/username路径)有一个名为
.condarc的文件,是conda的配置信息。参考官方文档关于.condarc配置文件的说明,在里面添加一句:auto_activate_base: false即可。实际上,方法一也是修改的.condarc文件,可以在使用方法一的同时观察此文件内容的变化。
Windows下,对于不显示环境名的问题,还要输入以下命令:
Set-ExecutionPolicy -ExecutionPolicy RemoteSigned
或者解决windows11在vscode中powershell终端无法调用anaconda/miniconda的base虚拟环境 - 知乎
# 1. 查看系统执行策略
>> get-executionpolicy
Restricted
# 2. 修改系统执行策略
>> set-executionpolicy remotesigned
# 在交互中选择是,Y
重启终端。
可选:环境变量
我不建议这么做,只需要conda初始化就行了,环境变量搞太多会乱。
As of Anaconda Distribution 2022.05, the option to add Anaconda to the PATH environment variable during an All Users installation has been disabled. This was done to address a security exploit. You can still add Anaconda to the PATH environment variable during a Just Me installation.
系统变量选择path,双击进入

新建环境变量**【根据自己安装的盘,选择对应的盘】**
D:\anaconda3
D:\anaconda3\Scripts
D:\anaconda3\Library\bin
D:\anaconda3\Library\mingw-w64\bin

在windows菜单栏搜索Anaconda,打开anaconda prompt

输入这行代码,查看版本号,检查是否成功安装
conda --version

成功安装会显示Anaconda的版本号
可选:修改环境保存路径
最新版最详细Anaconda新手安装+配置+环境创建教程-CSDN博客
因为更改环境保存路径和更改下载源都可以在.condarc文件中修改,这里一次性配置完
打开上面的anaconda prompt命令窗口,输入
conda info
没有修改的conda的pkgs和envs均保存在C盘,为了不占用系统盘的空间,我们需要修改保存的位置

在C盘-用户-用户名,找到.condarc,如果找不到打开anaconda prompt输入以下命令
conda config --set show_channel_urls yes
即可找到,用记事本打开
删除其他的,输入以下指令【注意修改为自己想要安装的盘,我这里修改为F盘】
envs_dirs: - F:\Anaconda3\envspkgs_dirs: - F:\Anaconda3\pkgs

CTRL + S保存。可以检查一下整体配置信息
conda info
首先pkgs和envs都修改为F盘了

可选:从Anaconda.org中获取安装包
当使用conda install无法进行安装时,可以考虑从Anaconda.org中获取安装包的命令,并进行安装。
- 浏览器中输入
http://anaconda.org(无需注册)



复制“To install this package with conda run:”下方的命令,并粘贴在终端中执行

我这里下载的是mindspore,执行命令conda install mindspore。因为我已经下载好了,这里我就不演示了。
注:在此环境安装的包,退出这个环境后是无法使用的!