Anaconda简单入门
Anaconda入门
Anaconda简介
Anaconda是一个方便的python包管理和环境管理软件,一般用来配置不同的项目环境。
我们常常会遇到这样的情况,正在做的项目A和项目B分别基于python2和python3,而第电脑只能安装一个环境,这个时候Anaconda就派上了用场,它可以创建多个互不干扰的环境,分别运行不同版本的软件包,以达到兼容的目的。
Anaconda通过管理工具包、开发环境、Python版本,大大简化了你的工作流程。不仅可以方便地安装、更新、卸载工具包,而且安装时能自动安装相应的依赖包,同时还能使用不同的虚拟环境隔离不同要求的项目。
anaconda的安装
windows下anaconda安装
非常简单,前往Anaconda官网 即可下载安装,国内用户可以到清华大学TUNA镜像站下载,安装过程中注意到这一步
path.png
其中第一项指将Anaconda的默认环境设置添加到系统环境,也就是说如果你之前安装过python并添加到了环境,选了这一项之后原来的python会被覆盖掉,默认使用Anaconda的默认环境。
第二项指设置Anaconda的默认环境为python3.5.
安装完成后Anaconda会创建一个叫base的默认环境,如果你不切换到其他指定环境,就会一直在默认环境运行。
linux ubuntu系统Anaconda安装
下载Anaconda.sh 如果无法运行的话修改一下权限
sudo chmod +x 文件名
sudo ./文件名
看完版权声明设置完就好了
安装完成后如果没有加入系统环境windows需要通过Anaconda Prompt运行(anaconda prompt还有一个好处就是可以显示图表),如果加入系统环境变量就可以在cmd运行了
pystatus.png
我选择了加入系统变量,我们可以看到我的python显示为Anaconda版
anconda使用conda作为包管理工具,也就是anaconda把一些常用的python包统一管理,可以方便的安装、更新和卸载包。
conda常用命令
conda --version 查看conda版本
conda -V
conda --help 获取帮助
conda -h
conda update --help
conda remove --help
--help 都可以换成-h
Anaconda环境管理
接下来我们先研究单一环境下的Anaconda环境管理。
conda env --help
刚刚系统默认创建了名叫base的默认环境,我们可以使用conda命令查看当前有多少环境
conda env list 查看所有环境
或者
conda info --envs
condaenv.png
我们可以看到只有一个base,也就是刚刚安装的时候勾选的带有python3.5的环境,还有一些py3的包
如果现在我需要一个python2.7的和tensorflow1.0的环境该怎么办呢
输入
conda create --name your_env_name
或者
conda create -n your_env_name
your_env_name 就是你新创建的环境名,你可以在里面安装其他包但不会与现有环境冲突
如果你要在创建环境时指定包内容, 可以用
conda create -n your_env_name python=3.5
如果你要指定多个包 可以用
conda create -n your_env_name python=3.5 numpy pandas
要指定特殊版本号加上=版本号就行,默认是最新的
对了,安装前为了保障你查询到最新包情况,最好使用
`conda update --all 更新包信息。
例如我现在要创建一个名叫 learningpy的基于py3的环境
conda update --all
conda create -n learningpy python=3.7
create.png
系统会询问你是否创建,输入y回车后,系统将列出必要安装的包
conda有一点好处是,如果你需要安装一个包,系统将自动检查这个包需要的前置包并且安装,比如你要安装TensorFlow,而TensorFlow会用到很多像前置包像pandas、matiplot等,如果你在单纯的python下没有安装pandas等包就直接安装TensorFlow,那么和有可能无法使用,而使用conda安装TensorFlow将会询问你并自动帮你把缺少的前置包安装好
创建完新的环境我们查看环境列表
conda env list
list.png
只要你的硬盘够大,你就可以创造很多个不同的环境
那么现在我们有多个环境了,如何切换环境呢?
windows
activate 环境名
退出时记得退出命令哦
deactivate
linux和mac用户的命令不一样
source source activate 环境名
source deactivate 环境名
比如我现在进入刚刚创建的learningpy环境
activate learningpy
python --verion
lpy.png
是不是python已经变成了3.7版本,我现在的环境已经和刚刚的环境没有关系了~~~
一些常用命令
创建一个新环境想克隆一部分旧的环境
conda create -n your_env_name --clone oldname
删除某个环境
conda remove -n your_env_name --all
导出环境配置(非常有用,比如你想帮朋友安装和你一模一样的环境,你可以直接导出一个配置文件给他,就能免除很多人力安装调试)
conda env export > environment.yml
将会在当前目录生成一个environment.yml,你把它交给小伙伴或拷到另一台机器,小伙伴只需要对这个文件执行命令
conda env create -f environment.yml
就可以生成和你原来一模一样的环境啦
anaconda包管理
上文我们提到了创建环境时的包管理,那么我们创建好环境后如何进行包的安装、更新和卸载呢?
当然我们任然可以通过pip安装更新删除
这里我们介绍conda
conda list 列举当前环境下的所有包
conda list -n packagename 列举某个特定名称包
conda install packagename 为当前环境安装某包
conda install -n envname packagename 为某环境安装某包
conda search packagename 搜索某包
conda updata packagename 更新当前环境某包
conda update -n envname packagename 更新某特定环境某包
conda remove packagename 删除当前环境某包
conda remove -n envname packagename 删除某环境环境某包
conda本身和anaconda、python本身也算包
conda update conda
conda update anaconda
conda update python
conda默认源可能速度比较慢
可以添加其他源,常用的有清华TUNA
conda config --add channels https://mirrors.tuna.tsinghua.edu.cn/anaconda/pkgs/free/
conda config --add channels https://mirrors.tuna.tsinghua.edu.cn/anaconda/pkgs/main/
conda config --set show_channel_urls yes 在包后面显示来源
第三条执行安装包时会显示来自哪个源,一目了然
source.png
教育网用户可以添加ipv6源,速度很快
conda config --add channels https://mirrors6.tuna.tsinghua.edu.cn/anaconda/pkgs/free/
conda config --add channels https://mirrors6.tuna.tsinghua.edu.cn/anaconda/pkgs/main/
conda config --set show_channel_urls yes 在包后面显示来源
anaconda实现原理解析
anaconda在目录下的envs文件夹保存了环境配置,也就是把所有的安装在这个环境下的包放在同一个文件夹中
当创建一个新环境时,anaconda将在envs中创建一个新的文件夹,这个文件夹包括了你安装在这个环境中的所有包
anaconda通过巧妙的包管理解决的一个大难题,确实方便了很多。
下一期会讲如何在第三方软件中使用anaconda的不同环境配置。
作者:MachinePlay
链接:https://www.jianshu.com/p/742dc4d8f4c5
来源:简书
简书著作权归作者所有,任何形式的转载都请联系作者获得授权并注明出处。
Anaconda简单入门相关推荐
- 【Jupyter Notebook的简单入门使用】
[Jupyter Notebook的简单入门使用] 简单介绍 安装与配置 简单使用 Markdown 关闭 简单介绍 Jupyter官网 Jupyter Notebook 介绍 简单来讲,它是一个网页 ...
- BizTalk 2006 简单入门示例程序(附源项目文件下载)
BizTalk 2006 简单入门示例程序(附源项目文件下载) 为初学BizTalk Server 2006的开发人员,提供一个简单入门的示例程序,包括一个Receive Port.Send Port ...
- python如何读取mat文件可视化_python Matplotlib数据可视化(1):简单入门
1 matplot入门指南 matplotlib是Python科学计算中使用最多的一个可视化库,功能丰富,提供了非常多的可视化方案,基本能够满足各种场景下的数据可视化需求.但功能丰富从另一方面来说也意 ...
- ARM NEON 编程简单入门1
原文:http://blog.csdn.net/silentob/article/details/72954618 ARM NEON 编程简单入门1 NEON简介 NEON是适用于ARM Corte ...
- Python 简单入门指北(二)
Python 简单入门指北(二) 2 函数 2.1 函数是一等公民 一等公民指的是 Python 的函数能够动态创建,能赋值给别的变量,能作为参传给函数,也能作为函数的返回值.总而言之,函数和普通变量 ...
- EChart.js 简单入门
EChart.js 简单入门 最近有一个统计的项目要做,在前端的数据需要用图表的形式展示.网上搜索了一下,发现有几种统计图库. MSChart 这个是Visual Studio里的自带控件,使用比 ...
- 【我的区块链之路】- Hyperledger fabric的简单入门(四)链码的编写及调试
[我的区块链之路]- Hyperledger fabric的简单入门(四)链码的编写及调试 之前的文章中我们有讲过了fabric的一些核心的配置文件的选项说明,讲过fabric 的网络启动 ...
- 基于vue-cli、elementUI的Vue超简单入门小例子
基于vue-cli.elementUI的Vue超简单入门小例子 这个例子还是比较简单的,独立完成后,能大概知道vue是干嘛的,可以写个todoList的小例子. 开始写例子之前,先对环境的部署做点简单 ...
- 【java开发系列】—— spring简单入门示例
回顾 1 JDK安装 2 Struts2简单入门示例 前言 作为入门级的记录帖,没有过多的技术含量,简单的搭建配置框架而已.这次讲到spring,这个应该是SSH中的重量级框架,它主要包含两个内容:控 ...
最新文章
- CSS+DIV固定底部的漂浮导航条(多浏览器兼容)
- Java8新特性Stream API与Lambda表达式详解(1)
- 数组反向遍历ios_iOS中数组遍历的方法及比较
- ios基础篇(二十六)—— UITableViewCell的分组索引与标记
- Java中的return this
- ibatis resultclass java.util.list_mybatis 动态sql返回一个List封装类报错求解决方法
- 一张图看明白云计算架构核心竞争力
- 【报告分享】2019宠物消费生态大数据报告.pdf
- centos进程php-fpm,CentOS 6.x 开启Nginx和Php-fpm状态统计
- Innodb独立的undo tablespace
- QCon全球软件开发大会:推动创新,实现技术落地
- 整数转字符串,字符串转整数
- 【iOS】编译静态库
- 区块链 PBFT最多多少个节点
- 试用bus hound来分析STM32CubeMX来生成USB_HID_Mouse工程
- 清华胡宇迪教授谈关于爱情、关于伴侣、关于承诺、关于人生、关于友情、关于微笑、关于生活、关于幸福
- 数值分析笔记(一):方程求根
- html隐藏域保存数组,关于给JS组合数组赋值给隐藏域问题
- JQuery 基础知识学习(详尽版)
- Ubuntu新手-谈第一次在Ubuntu升级VMware Tolls