前言:个人认为Anaconda比pip使用起来要方便很多,因为它创建虚拟环境和下载各种库都很方便。但是有时候conda的安装方法中没有某些库,必须使用pip来进行安装。所以,主要用Anaconda,偶尔用pip补充,两者并不冲突。

1. 安装Anaconda

下载地址:https://www.anaconda.com/download/

选择相应的版本,这里我们选择Python 3.7, 64-Bit (x86) Installer (637 MB) (点击这个链接可以直接下载)

或者直接在Ubuntu系统的命令行里输入

wget https://repo.anaconda.com/archive/Anaconda3-5.3.1-Linux-x86_64.sh

下载完成后,输入以下命令执行所下载的安装程序:

bash Anaconda3-5.3.-Linux-x86_64.sh

然后根据提示一步一步安装即可。

注:

  1. 安装过程中会提示是否要把anaconda添加到环境变量中,根据经验最好选择是的
  2. 如果在1中选择是的,则需要使用以下命令使得环境变量中的更改生效:
cd ~ && source .bashrc

1.1   为了下载库的时候速度更快,更换conda下载源为清华大学镜像

参考:https://blog.csdn.net/huludan/article/details/52711550

运行以下两行命令即可:

conda config --add channels 'https://mirrors.tuna.tsinghua.edu.cn/anaconda/pkgs/free/'
conda config --set show_channel_urls yes

2. 创建与激活虚拟环境:

参考:https://segmentfault.com/a/1190000005828284

# 创建虚拟环境
~/anaconda3/bin/conda create -n py3 python=3.6 # 激活虚拟环境
source ~/anaconda3/bin/activate py3

3. 在不同的ubuntu主机之间拷贝Anaconda的虚拟环境:

有两种方案,

  • 第一种是将所有虚拟环境的文件导出,在另一台机器上导入,无需从互联网下载文件,相当于本地移植
  • 第二种是将原来的虚拟环境中已经安装的库的名字和版本号导出成索引文件,从另一台机器上读取这个索引文件,并根据它从互联网重新下载相应的库

分别参考:

其中方案二是摘抄的某篇文章A,文章A是转载的文章B,文章B算是非常有工作量,主要是翻译的官方文档https://conda.io/docs/user-guide/getting-started.html。所以也欢迎查阅官方文档。

注意:根据方案1中参考文章的说法,

移植过来的环境只是安装了你原来环境里用conda install等命令直接安装的包,你用pip之类装的东西没有移植过来,需要你重新安装。

具体做法:

方案一:文件复制

# 复制虚拟环境文件到新的主机上
# 虚拟环境文件的位置一般在
cd ~/anaconda3/env/your_env_name # 根据原来的文件恢复虚拟环境
conda create -n env_name --clone ~/path

方案一我并没有实践过,但是理论上没什么问题,所以放在这里。我使用的是方案2,因为网速比较快,懒得拷贝文件了,直接重新下载好了。

方案二:索引导入导出

# 导出已有环境:
conda env export > environment.yaml # 将environment.yaml文件复制到新主机上之后
# 根据索引文件创建并恢复虚拟环境:
conda env create -n your_env_name -f environment.yaml

4. 如何备份虚拟环境:

有时候配置好的虚拟环境可能会后续被别的版本号升级造成的冲突所破坏,所以时不时的备份很重要。

方法:通过上述的导出索引的方式备份即可,哈哈

Ubuntu系统下Anaconda使用方法总结的更多相关文章

  1. 在ROS(indigo)中读取手机GPS用于机器人定位~GPS2BT在ubuntu和window系统下的使用方法~

    在ROS(indigo)中读取手机GPS用于机器人定位~GPS2BT在ubuntu和window系统下的使用方法~ 不需要额外购买GPS设备. 将手机GPS数据通过蓝牙传输给计算机使用,当然通过类似方 ...

  2. Ubuntu系统下Jenkins的git构建基本方法

    上一博文讲到了本地脚本的构建方法. 本篇博文主要讲“Ubuntu系统下Jenkins的git构建基本方法”. 点击保存后即可完成简单的构建. 构建触发器 这个触发器是决定什么时候触发构建,可以设置为定 ...

  3. linux ubuntu系统下,adb不是内部命令 (如何才能让adb命令可以使用)

    linux ubuntu系统下,adb不是内部命令 原文地址 linux ubuntu系统下,adb不是内部命令 解决方法: 1.sudo gedit ~/.bashrc 2.将下面的两句加到上面打开 ...

  4. ubuntu系统下创建软件桌面快捷方式

    转自ubuntu系统下创建软件桌面快捷方式 默认情况下,ubuntu会将自动安装的软件快捷方式保存在/usr/share/applications目录下,如果我们要创建桌面快捷方式,只需要右键-复制- ...

  5. Tex_安装_在Ubuntu系统下

    $\LaTeX$是一个强大的排版软件,在数学公式.表格.甚至是科学绘图方面有着独特优势.本文在Ubuntu系统下,整理Tex安装相关的操作,以为备忘.所引链接都未同作者商量,如有不妥望及时告知. 命令 ...

  6. 64位Ubuntu系统下ROP攻击

    64位Ubuntu系统下ROP攻击 基础知识 ROP攻击 ROP全称为Retrun-oriented Programmming(面向返回的编程)是一种新型的基于代码复用技术的攻击,攻击者从已有的库或可 ...

  7. ubuntu系统下Python虚拟环境的安装和使用

    ubuntu系统下Python虚拟环境的安装和使用        前言:进行python项目开发的时候,由于不同的项目需要使用不同的资源包和相关的配置,因此创建多个python虚拟环境,在虚拟环境下开 ...

  8. ubuntu系统下安装pyspider:搭建pyspider服务器新手教程

    首先感谢“巧克力味腺嘌呤”的博客和Debian 8.1 安装配置 pyspider 爬虫,本人根据他们的教程在ubuntu系统中进行了实际操作,发现有一些不同,也出现了很多错误,因此做此教程,为新手服 ...

  9. Ubuntu系统下Import cv2提示no modules ...错误

    最近利用pycharm在Ubuntu系统下调试一个Python项目,将pycharm的解释器从python2.7更换到python3.4后,程序中的Import cv2提示no modules nam ...

随机推荐

  1. CentOS 7中关闭删除virbr0虚拟网卡

    [问题] 虚拟机IP:192.168.31.101 本地物理机IP:192.168.31.254 虚拟机安装在本地物理机上 发现问题:本地物理机ping得通虚拟机IP,但是虚拟机无法ping通物理机I ...

  2. 如何推进企业流程体系建设?_K2 BPM

    推进全集团统一的流程体系为什么比想象的难? 很多企业在推进全集团的流程管理过程中,经常会有一种“望山跑死马”的感觉.“各成员公司都建立起与集团公司统一的流程管理体系”,看似很简单一件事情,但没有经过良 ...

  3. const修饰指针+volatile +restrict

    const这块的难点 const修饰指针有以下的几种形式 ,不同的形式 它的意义不一样. 形式1: int a=23: const int *p=&a: a是int型,&a是int * ...

  4. Django REST framework---请求和响应

    Django REST framework---请求和响应 [Request对象] 概念: 平时我们在写Django的视图函数的时候,都会带上一个request参数,这样就能处理平时搭建网站时,浏览器 ...

  5. Django知识总结(三)

    拾伍 ● Ajax技术 一 ● Ajax定义 Ajax: 异步的 JavaScript 和 XML (Asynchronous+Javascript+XML) 通过Ajax, 我们可以在不重新加载整个 ...

  6. TCP/IP OPTION字段

    0x01 简介 TCP头部和IPV4头部除了固定的20字节外,都设置了 OPTION 字段用于存储自定义的数据,因为TCP头部和IPV4的报文长度字段均为4字节,所表示的最大值为15, 乘4,报文头部 ...

  7. vue项目总结

    1.项目的结构

  8. MySql5.5安装详细说明

      双击MySql5.5安装文件开始: next 打勾,Next 选Custom,原因如下面所述: Typical(典型安装) Installs the most common program fea ...

  9. Redis操作1

    本文章内容节选自<PHP MVC开发实战>一书第16.4.2章节. 一.概述 Redis是一个NoSQL数据库,由于其数据类型的差异,所以要在MVC框架中实现CURD操作,比较繁锁.事实上 ...

  10. xml的作用

    XML应用面主要分为两种类型,文档型和数据型.下面介绍一下几种常见的XML应用: 1.自定义XML+XSLT=>HTML,最常见的文档型应用之一.XML存放整个文档的XML数据,然后XSLT将X ...