环境管理
创建新环境
1 | $ conda create --name <env_name> <package_names> |
注意:
<env_name>
即创建的环境名。建议以英文命名,且不加空格,名称两边不加尖括号“<>”。<package_names>
即安装在环境中的包名。名称两边不加尖括号“<>”。- 如果要安装指定的版本号,则只需要在包名后面以
=
和版本号的形式执行。如:conda create --name python2 python=2.7
,即创建一个名为“python2”的环境,环境中安装版本为2.7的python。 - 如果要在新创建的环境中创建多个包,则直接在
<package_names>
后以空格隔开,添加多个包名即可。如:conda create -n python3 python=3.5 numpy pandas
,即创建一个名为“python3”的环境,环境中安装版本为3.5的python,同时也安装了numpy和pandas。
- 如果要安装指定的版本号,则只需要在包名后面以
--name
同样可以替换为-n
。
提示:默认情况下,新创建的环境将会被保存在/Users/<user_name>/anaconda3/env
目录下,其中,<user_name>
为当前用户的用户名。
切换环境
Linux 或 macOS
1 | $ source activate <env_name> |
Windows
1 | $ activate <env_name> |
- 提示
- 如果创建环境后安装Python时没有指定Python的版本,那么将会安装与Anaconda版本相同的Python版本,即如果安装Anaconda第2版,则会自动安装Python 2.x;如果安装Anaconda第3版,则会自动安装Python 3.x。
- 当成功切换环境之后,在该行行首将以“(env_name)”或“[env_name]”开头。其中,“env_name”为切换到的环境名。如:在macOS系统中执行
source active python2
,即切换至名为“python2”的环境,则行首将会以(python2)开头。
退出环境至root
Linux 或 macOS
1 | $ source deactivate |
Windows
1 | $ deactivate |
提示
当执行退出当前环境,回到root环境命令后,原本行首以“(env_name)”或“[env_name]”开头的字符将不再显示。
显示已创建环境
1 | $ conda info --envs |
或
1 | $ conda info -e |
或
1 | $ conda env list |
复制环境
1 | $ conda create --name <new_env_name> --close <copied_env_name> |
- 注意:
<copied_env_name>
即为被复制/克隆环境名。环境名两边不加尖括号“<>”。<new_env_name>
即为复制之后新环境的名称。环境名两边不加尖括号“<>”。- 如:
conda create --name py2 --clone python2
,即为克隆名为“python2”的环境,克隆后的新环境名为“py2”。此时,环境中将同时存在“python2”和“py2”环境,且两个环境的配置相同。
删除环境
1 | $ conda remove --name <env_name> --all |
- 注意:
<env_name>
为被删除环境的名称。环境名两边不加尖括号“<>”。
包管理
查找可供安装的包版本
精确查找
1 | $ conda search --full name <package_full_name> |
- 注意:
--full-name
为精确查找的参数。<package_full_name>
是被查找包的全名。包名两边不加尖括号“<>”。
- 例如:
conda search --full-name python
即查找全名为“python”的包有哪些版本可供安装。
模糊查找
1 | $ conda search <text> |
- 注意:
<text>
是查找含有此字段的包名。此字段两边不加尖括号“<>”。 - 例如:
conda search py
即查找含有“py”字段的包,有哪些版本可供安装。
获取当前环境已安装的包信息
1 | $ conda list |
执行上述命令后将在终端显示当前环境已安装包的包名及其版本号。
安装包
在指定环境中安装包
1 | $ conda install --name <env_name> <package_name> |
- 注意:
<env_name>
即将包安装的指定环境名。环境名两边不加尖括号“<>”。<package_name>
即要安装的包名。包名两边不加尖括号“<>”。
- 例如:
conda install --name python2 pandas
即在名为“python2”的环境中安装pandas包。
在当前环境中安装包
1 | $ conda install <package_name> |
- 注意:
<package_name>
即要安装的包名。包名两边不加尖括号“<>”。- 执行命令后在当前环境中安装包。
- 例如:
conda install pandas
即在当前环境中安装pandas包。
使用pip安装包
使用场景
当使用conda install
无法进行安装时,可以使用pip进行安装。例如:see包。
命令
1 | $ pip install <package_name> |
- 注意:<package_name>为指定安装包的名称。包名两边不加尖括号“<>”。
- 如:
pip install see
即安装see包。
注意
pip只是包管理器,无法对环境进行管理。因此如果想在指定环境中使用pip进行安装包,则需要先切换到指定环境中,再使用pip命令安装包。
pip无法更新python,因为pip并不将python视为包。
pip可以安装一些conda无法安装的包;conda也可以安装一些pip无法安装的包。因此当使用一种命令无法安装包时,可以尝试用另一种命令。
从Anaconda.org安装包
使用场景
当使用conda install
无法进行安装时,可以考虑从Anaconda.org中获取安装包的命令,并进行安装。
注意
- 从Anaconda.org安装包时,无需注册。
- 在当前环境中安装来自于Anaconda.org的包时,需要通过输入要安装的包在Anaconda.org中的路径作为获取途径(channel)。查询网址:Anaconda.org
卸载包
卸载指定环境中的包
1 | $ conda remove --name <env_name> <package_name> |
- 例如:
conda remove --name python2 pandas
即卸载名为“python2”中的pandas包。
卸载当前环境中的包
1 | $ conda remove <package_name> |
- 例如:
conda remove pandas
即在当前环境中卸载pandas包。
更新包
更新所有包
1 | $ conda update --all |
或
1 | $ conda upgrade --all |
- 建议:在安装Anaconda之后执行上述命令更新Anaconda中的所有包至最新版本,便于使用。
更新指定包
1 | $ conda update <package_name> |
或
1 | $ conda upgrade <package_name> |
- 注意:
<package_name>
为指定更新的包名。包名两边不加尖括号“<>”。更新多个指定包,则包名以空格隔开,向后排列。如:
conda update pandas numpy matplotlib
即更新pandas、numpy、matplotlib包。