miniconda相关
官方文档
https://docs.conda.io/projects/miniconda/en/latest/
These four commands quickly and quietly install the latest 64-bit version of the installer and then clean up after themselves. To install a different version or architecture of Miniconda for Linux, change the name of the .sh
installer in the wget
command.
mkdir -p ~/miniconda3 wget https://repo.anaconda.com/miniconda/Miniconda3-latest-Linux-x86_64.sh -O ~/miniconda3/miniconda.sh bash ~/miniconda3/miniconda.sh -b -u -p ~/miniconda3 rm -rf ~/miniconda3/miniconda.sh
After installing, initialize your newly-installed Miniconda. The following commands initialize for bash and zsh shells:
~/miniconda3/bin/conda init bash ~/miniconda3/bin/conda init zsh
常见操作
创建一个名为 myenv 的环境并指定 Python 版本为 3.6:conda create -n myenv python=3.6 激活名为 myenv 的环境:conda activate myenv 退出当前环境:conda deactivate 删除名为 myenv 的环境:conda remove -n myenv --all 查看所有环境:conda env list
# conda 添加国内源
# 添加国内源/通道, 默认源在国外, 国内访问较慢, 建议添加国内源, 下载更新能节省很多时间, 以下为清华的源, 比较常用 conda config --add channels https://mirrors.tuna.tsinghua.edu.cn/anaconda/pkgs/free/ # 设置安装时显示源地址, 方便安装时知道包来自哪个源 conda config --set show_channel_urls yes
# 查看 conda 基本信息
# 查看 conda 版本信息 conda info # 更新 conda 版本 conda update -n base conda
# conda 环境相关, 新建/激活/切换/删除
# 列出所有环境 conda env list # 新建环境 # 新建一个名为 ENVNAME 的python版本为3.6的 conda create --name ENVNAME python=3.6 # 这里 --name 可以缩写为 -n,所以下面这个用法更常用, 下文同样会使用这种缩写方式,查看所有的缩写 conda create -n ENVNAME python=3.6 # 也可在创建环境的同时安装一些包,也可以同时指定包的版本, 如 conda create -n ENVNAME python=3.7 numpy=1.16.4 matplotlib # 激活/切换环境 # 激活名为 ENVNAME 的环境 conda activate ENVNAME # 激活特定路径的环境,笔者注: 这个命令偶尔会用 conda activate /path/to/environment-dir # 关闭当前环境,笔者注: 如果不在继续使用此命令行窗口,直接关闭该窗口静即可 # 关闭环境后面不需要指定环境名,默认关闭当前环境 conda deactivate # 删除环境, 笔者注: 也可以直接删掉 anaconda 安装目录下 envs 里面的对应文件夹 conda remove -n ENVNAME --all # 复制环境, 笔者注: 不可通过复制 anaconda 安装目录下 envs 下的文件夹来复制环境, 因为这样的操作不会自己改变此环境里的配置信息, 对复制后的环境的操作会影响到原环境 # 复制 ENVNAME1, 新环境命名为 ENVNAME2 conda create -n ENVNAME2 --clone ENVNAME1 # 重命名, 目前没有直接重命名的命令, 需要先 clone 再 remove 旧环境 conda create -n ENVNAME2 --clone ENVNAME1 conda remove -n ENVNAME1 --all
# 包管理相关
# 列出当前环境已安装的所有包 conda list # 列出指定环境的所有包 conda list -n ENVNAME # 列出当前环境变化的版本历史, 笔者注: 这个版本记录类似与git的记录, 记录你每次的包管理操作后环境记录 # 笔者注: 这个命令关键时候可以救命, 比方说你手贱升级了某个环境, 发现有问题想回滚到之前的环境状态时 conda list --revisions # 同上, 列出指定环境的包管理变化的版本历史 conda list --name ENVNAME --revisions # 结合上面两个命令使用, 先通过上面的命令列出所有版本, 然后通过下面这个命令会退到某个版本 conda install -n ENVNAME --revision REV_NUMBER # 删除某个环境, 还有一个比较暴力的方式就是直接删除anaconda安装路径下的 envs/ENVNAME 文件夹 conda remove -n ENVNAME --all
# 环境共享相关
# 复制指定环境 conda create --clone ENVNAME --name NEWENV # 导出指定环境到YAML文件 (便于在另一台电脑上导入以恢复同样的环境) conda env export --name ENVNAME > envname.yml # 从YAML文件创建环境 conda env create --file envname.yml # 如果当前目录下有 environment.yml 文件, 也不输入文件名直接创建环境,如下: conda env create # 导出当前环境的包版本列表 conda list --explicit > pkgs.txt #或者使用下面命令导出更简单的包列表 conda list -e > pkgs.txt # 基于包版本清单创建环境 conda create --name NEWENV --file pkgs.txt
# Packages(包)和Channels(源/通道)的使用
# 添加 Channels conda config --add channels CHANNELNAME # 使用conda从已配置的Channels中搜索包, 可以带上版本号, 笔者注: 用得少, 图形界面的系统下, 可以直接百度/google搜索更方便一点 conda search numpy=1.16 # 使用anaconda从所有Channels中搜索包 anaconda search FUZZYNAME # 从指定通道安装包,如 conda install conda-forge::PKGNAME # 安装指定版本的包,一个等号或2个等号均可 conda install PKGNAME==3.1.4 # 卸载当前环境的某个包 conda uninstall PKGNAME # 卸载指定环境的某个包 conda uninstall -n ENVNAME PKGNAME # 升级环境的所有包, 同样可以指定环境 conda update --all -n ENVNAME # 升级某个包, 同样可以通过 -n ENVNAME 指定环境 conda update PKGNAME