应用介绍
Anaconda是一个用于科学计算的Python发行版,支持Linux、Mac、 Windows系统以及Python、R等科学计算语言,提供了包(Package)管理与环境(Environment)管理的功能,可以很方便地解决多版本多环境并存的问题。用户可以为某项具体的任务创建单独的环境,环境之间相互隔离。这样可以避免同一环境中各类软件相互冲突的问题。Anaconda利用conda
命令来进行包和环境的管理,并且已经包含了Python和相关的配套工具。
因为Conda支持多虚拟环境,建议用户使用Anaconda来管理和使用各类应用。
使用指南
默认环境和软件源
平台已经默认安装了anaconda3应用,并内置了一些常见软件环境,安装路径为:/opt/app/anaconda3
用户可以通过配置环境变量,使用平台提供的anaconda3,需要在~/.bahsrc
文件中添加命令:export PATH=/opt/app/anaconda3/bin:$PATH
,添加完成后,运行命令source ~/.bashrc
,使配置的环境变量生效。
Anaconda默认的软件源在国外,速度比较慢,可以将其更换为清华源,详见清华大学开源软件镜像站的说明。
环境管理
- 在使用Anaconda时,默认环境是
base
,base
环境中提供了一些基础的工具,用户可以直接使用。如果默认的base
环境没有用户需要的软件,用户也可以创建自己的环境,并进行安装。
1. 创建新环境
操作命令: conda create --name env_name package_names
env_name
是创建的环境名称。建议以英文命名,且不加空格。
package_names
是安装在环境中的软件包名称。如果要在新建的环境中安装多个包,需要使用空格将各个包名隔开。例如,创建一个名为py37
的环境,环境中安装版本为3.7的python,同时安装包numpy
和pandas
:
conda create --name py37 python=3.7 numpy pandas
新的环境以及环境内的包会被安装到/home/用户名/.conda/envs/
目录下。
2. 切换环境
操作命令: source activate env_name
3. 复制环境
操作命令: conda create --name new_env_name --clone old_env_name
4. 显示环境
操作命令: conda info --envs 、conda env list
5 删除环境
操作命令: conda remove --name env_name --all
软件包管理
1. 获取当前环境中已安装的软件包信息
操作命令: conda list
2. 在指定环境中安装软件包
操作命令: conda install --name env_name package_name
env_name
是指定的环境名。
package_name
是指定的包名。
- 如果不加
-name env_name
,则安装到当前所在的环境。
3. 卸载软件包
操作命令: conda remove -n env_name package_name
env_name
是指定的环境名。
package_name
是指定的包名。
- 如果不加
-name env_name
,则卸载当前所在的环境的软件包。
命令参考
操作命令 | 说明 |
conda –V | 查看conda版本 |
conda –h | 查看conda帮助 |
conda update conda | 更新conda |
conda create --name | 使用conda创建新的环境 |
source activate | 激活创建的环境 |
conda info --envs | 显示已创建的环境 |
conda create --name --clone | 复制环境 |
deactivate | 退出环境 |
conda remove --name --all | 删除环境 |
conda install --name | 在指定环境中安装包 |
conda list | 列出已安装的包 |
conda update | 更新当前环境中的安装包 |
conda remove | 移除当前环境中的安装包 |
conda remove -n | 移除指定环境中的安装包 |
常见问题
问题1:
如果多个用户需要协同使用一个环境,可以由某一个用户指定共享目录创建环境,供其他用户使用。
操作命令: conda create -p /home/share/a/env_name package_name
比如,用户a想要创建一个包含r-base的环境,并共享给用户b使用。则用户a可以运行命令:conda create -p /home/share/a/r-base r-base
,并赋予用户b对 /home/share/a/r-base
目录的可读权限。用户b再运行命令 conda activate /home/share/a/r-base
,即可共享使用这个环境。
问题2
由于公共集群登陆节点(workstation)有内存限制,无法运行占用内存资源的操作,需要申请计算节点运行conda。
例如,需要在个人目录创建conda环境时,可以这样操作:
1.运行【salloc】命令,获得计算资源
2.运行【ssh cpuxx】命令,登陆到cpuxx计算节点
3.运行【source /opt/app/anaconda3/bin/activate】命令,进入公共集群conda的base环境
4.运行【conda create -n my_env】命令,创建名为【my_env】的个人环境