anaconda虚拟环境管理,从此Python版本不用愁

2023-10-30

1 引言

在前几篇博文中介绍过 virtualenv、virtualenvwrapper等几个虚拟环境管理工具,本篇要介绍的anaconda也有很强大的虚拟环境管理功能,甚至相比virtualenv、virtualenvwrapper等工具,更加强大。
Anaconda是专注于数据分析的Python发行版本,包含了conda、Python等190多个科学包及其依赖项。我们本篇要介绍的anaconda虚拟环境管理就是使用其中的conda。conda是一款极为特殊的环境管理工具,之所以说它特殊,conda的设计思想——conda将几乎所有的工具、第三方包都当做package对待,甚至包括python和conda自身!因此,conda打破了包管理与环境管理的约束,能非常方便地安装各种版本python、各种package并方便地切换。也就是说说,在进行虚拟环境管理时,conda可以独立于系统原有的Python版本而创建任意版本的Python解释器,这是 virtualenv、virtualenvwrapper等工具所不具备的。

2 安装

2.1 下载

本次安装的版本是anaconda3。先进入一个用于存放下载文件的目录,然后安装anaconda:
$ cd /home/ubuntu/download
$ wget https://repo.anaconda.com/archive/Anaconda3-2018.12-Linux-x86_64.sh

2.2 安装与配置

如果没有意外,上述命令结束之后,在/home/ubuntu/download目录下会下载成功一个名为Anaconda3-2018.12-Linux-x86_64.sh的文件。
通过以下命令正式开始安装:
$ bash Anaconda3-2018.12-Linux-x86_64.sh
在安装过程中,需要你允许使用协议,输入yes即可:
Do you accept the license terms? [yes|no]
[no] >>>
Please answer 'yes' or 'no':'
>>> yes
然后输入你希望将anaconda安装到的目录,例如将anaconda安装到 /usr/bin/anaconda3:
[/home/ubuntu/anaconda3] >>> /usr/bin/anaconda3
当然,我这次安装选择的是默认的/home/ubuntu/anaconda3目录中,所以直接回车即可。
输入完成之后,系统将继续完成安装,知道出现如下输出提示:
Do you wish the installer to initialize Anaconda3
in your /home/ubuntu/.bashrc ? [yes|no]
[no] >>>
这里,你可以输出yes。意思是,将/home/ubuntu/anaconda3下的bin目录添加到当前用户的环境变量配置中。如果错过了这一步配置或者输入的是no,你将需要进行手动配置环境变量:
$ cd ~
$ vim .bashrc
然后在最后一行输入以下内容:
# anaconda3的配置环境
export PATH="/home/ubuntu/anaconda3/bin:$PATH"
结束上面所有步骤之后,运行一下命令让配置生效:
$ source .bashrc

2.3 验证安装结果

如果上面的所有步骤都没有意外,顺利完成的话,事实上anaconda就已经安装成功了。我们来验证一下。
直接在命令行中输入python,看看Python的版本:
$ python
Python 3.7.1 (default, Dec 14 2018, 19:28:38)
[GCC 7.3.0] :: Anaconda, Inc. on linux
Type "help", "copyright", "credits" or "license" for more information.
>>>
可以看到,Python的版本已经与原来不一样了。
查看conda版本,运行命令:
$ conda --version
conda 4.5.12
输出安装的anaconda的的conda的版本为4.5.12。上述迹象表明,anaconda确实安装成功。

3 环境管理

3.1 创建虚拟环境

conda create -n env_name python=version package_names
其中,参数-n是指接下来的参数指定虚拟环境名,与--name等效,所以python36即为指定的将要创建的虚拟环境名。python=version是为虚拟环境指定Python版本,指定版本后,conda会安装该版本下最新的子版本,例如指定版本为3.6时,conda将会安装最新的3.6.x版本。package_names是要为新的虚拟环境创建时就安装的包,这里也可以不安装其他包,省略这一参数,在后续使用虚拟环境时安装第三方包。
例:创建一个虚拟环境,Python版本为3.6,虚拟环境名为python36
conda create --name python36 python=3.6

3.2 查看虚拟环境

conda env list
运行后,结果如下:
# conda environments:
#
base * /home/chb/anaconda3
python36 /home/chb/anaconda3/envs/python36
上述结果列出了当前系统中所有conda创建的虚拟环境,即环境所在目录。base是安装anaconda时指定安装的Python环境。型号(*)是指系统当前说还是用的Python环境。

3.3 激活虚拟环境

conda activate env_name
例如:进入刚刚创建的虚拟环境python36
conda activate python36
如果进入到虚拟环境python36,之后的命令行抬头都会有一个“(python36)”的字样。

3.4 退出虚拟环境

退出虚拟环境时并不需要指定虚拟环境名,直接运行下行命令即可:
conda deactivate

3.5 共享虚拟环境

什么是共享虚拟环境呢?当我们在本机上开发了一套代码,然后将代码上传到github或者发给项目组其他人,这是别人可不知道我们开发的代码上面用到了哪些依赖,conda提供了方便得功能将虚拟环境中所有依赖包统一导出一个配置文件中,在别的机器上使用这套代码时,根据conda导出的配置文件重建虚拟环境即可,这就是共享虚拟环境功能。在多人协作开发及开源的情况下,共享虚拟环境无疑是一个非常实用的功能。
先来导出依赖到配置文件:
conda env export --file python36_env.yml
environment.yaml是导出依赖的目标文件,运行命令后,当前目录下就回生成一个environment.yaml文件,包含了所有依赖信息。
根据配置文件创建虚拟环境:
conda env create -f /home/chb/code/python36_env.yml
运行上述命令后,在新机器上也会创建一个一模一样的虚拟环境。
3.6 删除虚拟环境
 conda remove -n python36 --all 
或者
conda env remove -n python36

4 包管理

4.1 安装包

conda install package_name
或者
pip install package_name

4.2 列出所有包

conda list

4.3 更新包

conda update package_name
如果想要一次性更新所有包:
conda update --all

4.4 查找包

conda search keyword
例如:我们要安装pandas,但是忘了准确名称,可以这样查找:
conda search pan

4.5 删除包

conda remove package_name

5 总结

虽然相较于 virtualenv、virtualenvwrapper等工具,anaconda安装要复杂一下,但无疑anaconda功能更加强大,可以更加方便得进行包管理。
 
 
 
 
 

转载于:https://www.cnblogs.com/chenhuabin/p/10718471.html

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

anaconda虚拟环境管理,从此Python版本不用愁 的相关文章

随机推荐

  • 含Java岗988道题分享 备战金九银十,你准备好了吗?,阿里,腾讯秋招面试题解析。

    在前段时间里公司的项目基本都很闲 很多人觉得工作起来没意思相继走了 而我考虑到自己的发展 并没有裸辞 而是一边上班 另一边在面试 从3月底开始面试 面到5月底 三十家公司 因为疫情原因有些面试是远程面试 我从不打没准备的仗 我是一个喜欢总结
  • chown 命令

    NAME chown change file owner and group SYNOPSIS chown OPTION OWNER GROUP FILE chown OPTION reference RFILE FILE 当使用 refe
  • 数据库-面试题(持续更新)

    来自牛客网的汇总 1 MySQL查询时 只有满足联接条件的记录才包含在查询结果 这种联接是 内联接 内联接 典型的联接运算 使用像 或 lt gt 之类的比较运算符 包括相等联接和自然联接 内联接使用比较运算符根据每一表共有的列的值匹配两个
  • 在simulink中查看bode图

    打开simulink 在library里面找到inport和outport 然后在inport和outport之间使用传递函数 想要查看bode图的传函 连接 按如下路径点击Analysis Control Design Linear An
  • 【2.学习__签名证书和加密证书】

    实习期学习一些签名和加密的知识 暂时先这样 有时间了再整理 学习的方法 先学习证书文件内容 结构 再针对问题进行学习 证书相关的知识 1 证书的结构大致是什么样的 证书的机构分为三部分 tbsCertificate 包含 主题 和 发行者的
  • 【C语言学习笔记】再次深入理解递归——总结设计易错点

    写在前面 其实我也说不太清楚到底递归算不算算法 因为我一开始从0基础接触递归是从 算法图解 这本书中得知的 也很推荐刚学算法的朋友可以先看看这本书 写的挺不错的 也就把它当成算法了 但写了那么多题目 渐渐的感觉递归这个东西把 它更像是一种工
  • sqli-labs第十三和十四关(post请求-报错盲注)

    一上来 先加个单引号探探路 有sql报错回显 在单引号后继续加上and 1 试图让sql报错显示更多信息 从near and password 1 LIMIT 0 1 at line 1可以判断 这关就用单引号加括号了 没什么意思 注入 却
  • 深度学习:经典卷积神经网络和目标检测网络

    最近自己会把自己个人博客中的文章陆陆续续的复制到CSDN上来 欢迎大家关注我的 个人博客 以及我的github 本文主要讲解关于有关物体检测的相关网络 具体包括R CNN Fast R CNN Faster R CNN和Mask R CNN
  • 流量分析例题

    流量分析 一 题目背景 某公司内网网络被黑客渗透 简单了解 黑客首先攻击了一台web服务器 破解了后台的账户密码 随之利用破解的账号密码登陆了mail系统 然后获取了vpn的申请方式 然后登陆了vpn 在内网pwn掉了一台打印机 请根据提供
  • 第1期技术: DQN算法原理及实现过程

    深度强化学习实验室 DeepRLhub 访问官网 http deeprlhub com 特别声明 本文是作者在充分知晓著作权细则的情况下 经过个人付出或者翻译他人著作内容 并已注明翻译原文来源的情况下授权给 深度强化学习实验室 CSDN博客
  • Java 国际化简单使用

    文章目录 Java国际化使用 Locale 本地化工具类 配置文件本地化 ResourceBundle Java国际化使用 Locale 是表示语言和国际的类 是国际化应用的基础 语言完整版 http www loc gov standar
  • python使用ctypes调用dll

    因为 ctypes 是内置模块 可以直接使用 from ctypes import 加载dll程序 from ctypes import dll CDLL test sdk dll 调用dll方法 直接调用 from ctypes impo
  • C++----类型转换

    C 类型转换的方式 1 static cast static cast用于非多态类型的转换 静态转换 编译器隐式执行的任何类型转换都可用 static cast 但它不能用于两个不相关的类型进行转换 2 reinterpret cast r
  • OC中一些容易混淆和忘记的知识点总结

    1 三目运算符 lt 表达式1 gt lt 表达式2 gt lt 表达式3 gt 运算符的含义是 先求表达式1的值 如果为真 则执行表达式2 并返回表达式2的结果 如果表达式1的值为假 则执行表达式3 并返回表达式3的结果 可以理解为条件
  • Self-study Python Fish-C Note-3 P15-P19

    分支和循环 branch and loop python中分支和循环结构语法的注意和特点 1 严格的缩进 2 if elif else while for后面要加冒号 也只有冒号一种标点符号 A 分支 branch a 语法结构 1 判断一
  • 华为OD机试 - 服务失效判断(Java)

    题目描述 某系统中有众多服务 每个服务用字符串 只包含字母和数字 长度 lt 10 唯一标识 服务间可能有依赖关系 如A依赖B 则当B故障时导致A也故障 依赖具有传递性 如A依赖B B依赖C 当C故障时导致B故障 也导致A故障 给出所有依赖
  • dynamic 365 前端操作

    dynamic 365 常用js操作和方法 dynamic 365 常用js dynamic 365 常用js 获取当前用户id Xrm Page context getUserId 获取当前用户的用户名 Xrm Page context
  • Conference and Journal Level in 2016

    中国计算机学会推荐国际学术会议和期刊目录 2015 年 中国计算机学会 中国计算机学会推荐国际学术期刊 计算机体系结构 并行与分布计算 存储系统 一 A 类 序号 刊物简称 刊物全称 出版社 网址 1 TOCS ACM Transactio
  • 【dubbo学习系列】dubbo消费端的代理生成详解(@DubboReference和@Reference)

    文章目录 spring中dubbo实现RPC 如何加载 Reference和 DubboReference注解 DubboComponentScanRegistrar 概括 发现 Refrence和 DubboReference注解 并编织
  • anaconda虚拟环境管理,从此Python版本不用愁

    1 引言 在前几篇博文中介绍过 virtualenv virtualenvwrapper等几个虚拟环境管理工具 本篇要介绍的anaconda也有很强大的虚拟环境管理功能 甚至相比virtualenv virtualenvwrapper等工具