简明conda使用指南
区分conda, anaconda, miniconda
anaconda相当于conda+python+pip+一堆python科学计算常用包(numpy, scipy, matplotlib等)
miniconda相当于conda+python+pip,轻量级。
conda是通用的包管理器,能装pip包(例如numpy),也能装其他语言的软件包(例如ninja, cmake).
如果你用Python,做深度学习,那么强烈建议你使用miniconda/anaconda而不是系统自带Python/pip,虽然硬盘空间可能多消耗一些,但往往能节省在环境配置上的时间开销。
本文的各种命令可以在conda官方的文档中找到:Conda User guide 。
不过,官网文档内容过于详实,简直就是字典,我是看不下去的..
conda版本
conda -V
或者
conda --version
虚拟环境
创建虚拟环境
conda create -n env_name python=x.y
e.g. 创建python3.5的虚拟环境:
conda create -n py35 python=3.5
删除虚拟环境
conda remove --name env_name --all
重命名虚拟环境
没法直接重命名虚拟环境,只能很naive的从原有环境clone,然后删掉原有环境(或者用下面的“分享环境”的做法,不过估计需要联网速度更慢):
conda create --name new_name --clone old_name
conda remove --name old_name --all
列出虚拟环境
conda env list
或者:
conda info --envs
#也可以用缩写形式:
conda info -e
切换/激活虚拟环境
conda activate env_name
e.g. 激活py35环境:
conda activate py35
退出当前虚拟环境
conda deactivate
分享环境
导出虚拟环境
导出到yml文件,相当于pip用的requirements.txt的升级版
conda env export > environment.yml
注意:如果导出的environment.yml开头几行显示的channel是anaconda官方(https://repo.anaconda.com/pkgs/main),可以考虑换成tuna的镜像通道(https://mirrors.tuna.tsinghua.edu.cn/anaconda/pkgs/main)来加速,e.g.
name: base
channels:
- https://repo.anaconda.com/pkgs/main
- defaults
dependencies:
- asn1crypto=0.24.0=py37_0
- attrs=19.3.0=py_0
- backcall=0.1.0=py37_0
...
换成:
name: base
channels:
- https://mirrors.tuna.tsinghua.edu.cn/anaconda/pkgs/main
- defaults
dependencies:
- asn1crypto=0.24.0=py37_0
- attrs=19.3.0=py_0
- backcall=0.1.0=py37_0
...
使用yml导入创建虚拟环境
conda env create -n env_name -f environment.yml
复制虚拟环境
conda create -n new_env_name --clone env_name
查看某个环境的位置
默认的conda虚拟环境叫做"base",它提供的python在/home/zz/soft/miniconda。
base环境之外的虚拟环境,例如py35,在/home/zz/soft/miniconda3/envs/py35/。
在某些开源项目的编译配置环境(例如OpenCV等),可以指定特定版本的python,则需要到/home/zz/soft/miniconda3/envs/py35/这样的位置下找。
列出软件包
包的基本信息
显示当前环境的所有包的基本信息
conda list
显示指定虚拟环境的所有包的基本信息
conda list -n env_name
区分显示conda和pip包的信息
当前环境的:
conda env export
输出结果中- pip开始列出的是pip包列表。
conda env export -n env_name
安装软件包
在当前虚拟环境中安装软件包
conda install pkg_name
e.g. 安装cmake(cmake不是一个pypi包,但可以通过conda下载安装,并且如果你在condarc中配置了国内镜像,下载起来会非常快,比自己手动去cmake官网下载快很多):
conda install cmake
在指定虚拟环境中安装软件包
conda install --name env_name pkg_name
从指定channel下载安装
以下载pytorch包举例:
conda install --channel https://mirrors.tuna.tsinghua.edu.cn/anaconda/cloud/pytorch/ pytorch
或者用缩写的参数-c替代--channels,用~/.condarc中配置的名为pytorch的channel
conda install -c pytorch pytorch
删除软件包
当前环境
conda remove pkg_name
指定环境
conda remove --name env_name pkg_name
查找软件包
conda search pkg_name
conda配置
.condarc
Linux/Mac: ~/.condarc
Windows: c:/Users/xxx/.condarc
在国内使用tuna的conda镜像。个人感觉这个.condarc中配置的是各个channel,一方面是管理不同版本的包(例如pytorch这个channe),另一方面可以切换镜像,用来加速。
channels:
- defaults
show_channel_urls: true
default_channels:
- https://mirrors.tuna.tsinghua.edu.cn/anaconda/pkgs/main
- https://mirrors.tuna.tsinghua.edu.cn/anaconda/pkgs/free
- https://mirrors.tuna.tsinghua.edu.cn/anaconda/pkgs/r
custom_channels:
conda-forge: https://mirrors.tuna.tsinghua.edu.cn/anaconda/cloud
msys2: https://mirrors.tuna.tsinghua.edu.cn/anaconda/cloud
bioconda: https://mirrors.tuna.tsinghua.edu.cn/anaconda/cloud
menpo: https://mirrors.tuna.tsinghua.edu.cn/anaconda/cloud
pytorch: https://mirrors.tuna.tsinghua.edu.cn/anaconda/cloud
simpleitk: https://mirrors.tuna.tsinghua.edu.cn/anaconda/cloud
pip.conf
Linux/Mac: ~/.pip/pip.conf
Windows: C:/Users/xxx/pip/pip.ini
除了配置conda镜像,还需要配置pip镜像。因为很多python包还是需要通过pip而不是conda安装(conda里没有相应的包,只有pypi里有),此时pip使用国内镜像来加速,需要配置pip.conf,例如:
[global]
index-url = https://mirrors.aliyun.com/pypi/simple/
[install]
trusted-host=mirrors.aliyun.com
bash/zsh自动加载
以前都是安装miniconda/anaconda时选择"yes",自动追加配置到~/.bashrc,然后手动复制到~/.zshrc(我默认用的zsh替代了bash作为解释器)。其实可以更简单:
conda init zsh
进入bash/zsh不自动activate base env
conda config --set auto_activate_base false
conda实践:安装python2的pip无法安装的包
由于pip官方的不作为(辣鸡pip),现如今python2对应的pip几乎没法装pypi包了,一旦安装就会失败,提示你说:需要至少python3.5的环境。老子的python2为什么不给用了?垃圾pip。
RuntimeError: Python version >= 3.5 required
解决办法:用conda安装!例如:
conda install numpy
简明conda使用指南的更多相关文章
- python anaconda 常用操作;conda 命令指南
在使用 python anaconda时,经常会用到很多常用操作,记录下来,方便以后更好地使用: conda: Conda既是一个包管理器又是一个环境管理器.你肯定知道包管理器,它可以帮你发现和查看包 ...
- Anaconda多环境多版本python配置指导
Anaconda多环境多版本python配置指导 字数3696 阅读644 评论0 喜欢0 最近学python,读完了语法后在GitHub找了一些练习来做,由 于学的是python3.x语法,而Git ...
- typedef和typename关键字
.类型说明typedef 类型说明的格式为: typedef 类型 定义名; 类型说明只定义了一个数据类型的新名字而不是定义一种新的数据类型.定义名表示这个类型的新名字. 例如: 用下面语句定义整型数 ...
- Ubuntu 简单安装和配置 GitLab
使用的 Ubuntu Server 16.04 LTS 版本,服务器托管在 Azure 上,用的 1 元试用 1 个月服务器订阅(1500 元额度). 安装命令(推荐使用): curl -sS htt ...
- typedeifn typename
1.类型说明typedef 类型说明的格式为: typedef 类型 定义名; 类型说明只定义了一个数据类型的新名字而不是定义一种新的数据类型.定义名表示这个类型的新名字. 例如: 用下面语句定义整 ...
- ruby 学习网站
Ruby on Rails官网: http://rubyonrails.org/ Rails Guides:http://guides.rubyonrails.org/ -中文版: http://gu ...
- Ubuntu16.04+Tensorflow+CUDA9.0+cuDNN7.0 环境简明搭建指南
最近在研究风格化得内容,发现搭建环境实在是很头疼的事情,虽然网上已经有各路大神总结整理好了很多搭建指南,各种问题的解决方案都已经罗列出来供大家参考.然后参考终究是参考,真正自己上手,发现仍旧是各种坑, ...
- 【转】git - 简明指南
git - 简明指南 助你入门 git 的简明指南,木有高深内容 ;) 作者:罗杰·杜德勒 感谢:@tfnico, @fhd 和 Namics其他语言 english, deutsch, españo ...
- git - 简明指南
助你入门 git 的简明指南,木有高深内容 ;) 作者:罗杰·杜德勒 感谢:@tfnico, @fhd 和 Namics如有纰漏,请在 github 提报问题 安装 下载 git OSX 版 下载 g ...
随机推荐
- echars 饼状图 轮循 水平翻转
code: <!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF ...
- flutter环境配置window10
第一步,配置git环境,这个作为前端的都是会的,如果你不会,去问度娘去 第二步,配置java的开发环境,这里建议下载jdk为1.8版本的,我最初使用的是如下图的jdk版本,后面和flutter版本不一 ...
- [RN] windows7 安装 Realm Studio 后,打开报错 A JavaScript error occurred in the main process
windows7 安装 Realm Studio 后,打开报错 报错如下: A JavaScript error occurred in the main process Uncaught Exce ...
- web安全编码Demo
目录: 1.生成安全随机数 2.密码安全存储 3.文件上传 4.SQL注入 一.生成安全随机数 用于生成会话sessionid.防CSRF时的token.以及其他场景下的veritycode. 如下代 ...
- 【RS】Deep Learning based Recommender System: A Survey and New Perspectives - 基于深度学习的推荐系统:调查与新视角
[论文标题]Deep Learning based Recommender System: A Survey and New Perspectives ( ACM Computing Surveys ...
- CentOS升级Python2.6到Python2.7并安装pip[转载]
貌似CentOS 6.X系统默认安装的Python都是2.6版本的?平时使用以及很多的库都是要求用到2.7版本或以上,所以新系统要做的第一件事必不可少就是升级Python啦!在这里做个简单的升级操作记 ...
- Appium+python自动化(五)- 模拟器(超详解)
简介 Appium是做安卓自动化的一个比较流行的工具,对于想要学习该工具但是又局限于或许当前有些小伙伴没 android 手机来说,可以通过安卓模拟器来解决该问题,下面就讲解使用appium连接安卓模 ...
- 美国 | USA B1/B2 十年签证到手记
旅行生活美国 周一早上人还没到公司,就收到EMS快递员的电话,说有两份我的美国领事馆的签证快递,在前台要我签收一下. 美领馆的出签效率果然是高,上周三(8月10日)早上面签的,这三个工作日就把护照送到 ...
- Go语言-1-标识符与变量
目录 1. Go标识符 1.1 Go关键字 1.2 常量标识符(4个) 1.3 空白标识符(1个) 1.4 内置数据类型标识符 1.5 内置函数(15个) 2. Go语言操作符 3. Go语言变量 3 ...
- 【linux】Too many open files 解决问题第一步【记录】
记录一下解决linux上出现:Too many open files 的第一步骤. 做个记录,免得每次都查来查去的. 1.查看 ulimit -a 2.修改 vi /etc/security/lim ...