本文的命令部分借助 GitHub Copilot 整理

Anaconda 还是 Miniconda?

conda 是一个包管理器,支持 Linux、Windows、Mac,其中包含了 Python,conda create -n new_pyenv python=3.12 可以方便地创建名为 new_pyenv 的 Python 虚拟环境。

安装 conda 有两种常见类型,anaconda 和 miniconda。Anaconda 安装体积大,安装包中已经含有很多软件和库;而 miniconda 体积小巧,创建环境时需要的库会自动联网下载。

因此,上网不方便的可以选择 anaconda 一步到位,但其实中国大陆的网络问题可以通过换源解决。如果在境外网络环境,比如香港,我个人推荐直接选择 miniconda,安装快。刚入门的时候可能把路径什么的搞错了,卸载重装也很方便——我就是这样摸索出来的。

官网对每个平台、anaconda/miniconda 都有很清楚的安装说明,这里不重复。但安装过程中有两个选项值得提醒一下。

两个我不会勾的选项

❌ 自动添加系统路径

不要选择添加系统路径,避免和其他环境冲突。让 conda 自己的 shell hook 去负责激活就好。

⚠️ 自动激活环境(conda init)

即 conda init 命令。开启后每次打开命令行都会自动运行 conda activate,激活一个环境。

个人觉得没必要,尤其是在 Windows 上:如果 PowerShell 设置了 conda init 自动激活,每次打开一个 PowerShell 都要加载半天。以前我以为是电脑不行,原来是我误会 Windows 了。

但我发现在 cmd 中启用这个命令基本没有什么影响:

conda init cmd.exe

如果你已经在 PowerShell 上开了想撤销,用:

conda init --reverse powershell

创建新环境

创建一个新的 conda 环境:

conda create --name myenv

把 myenv 换成你想要的环境名。也可以同时指定 Python 版本:

conda create --name myenv python=3.8

也可以用 -p 选项把环境创建到指定路径:

conda create -p /path/to/myenv

把 /path/to/myenv 换成你想要的路径。同样可以指定 Python 版本:

conda create -p /path/to/myenv python=3.8

给单个环境设置环境变量

给某个 conda 环境单独设置环境变量,用 conda env config vars set:

conda env config vars set MY_VAR=value

把 MY_VAR 和 value 换成你要的变量名和值。

设置完需要重新激活环境才会生效:

conda activate myenv

查看当前环境已设置的环境变量:

conda env config vars list

取消某个环境变量:

conda env config vars unset MY_VAR

更多细节参考官方文档。

例子:设置 PYTHONPATH

给某个 conda 环境设置 PYTHONPATH:

conda env config vars set PYTHONPATH=/path/to/your/modules

把 /path/to/your/modules 换成你要加进 PYTHONPATH 的路径。

重新激活环境使其生效:

conda activate myenv

验证是否设置成功:

conda env config vars list

删除环境

用 conda remove 加 --name 删除一个环境:

conda remove --name myenv --all

把 myenv 换成要删除的环境名。--all 表示连同环境里的所有包一起删掉。

如果当初是用 -p 创建到指定路径的,删除时同样用 -p:

conda remove -p /path/to/myenv --all

更多细节参考官方文档。


参考:

  1. conda create 文档
  2. conda env config vars 文档