前言:个人认为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. day 07 数据类型,集合,深浅copy

    1.day 06 内容回顾 小数据池 int :-5-256 str:特殊字符 ,*20 ascii:8位 1字节 表示一个字符 unicode:32位 4个字节 , 表示一个字符 字节表示8位表示一 ...

  2. 基于Qt的图像处理技术和算法

    https://blog.csdn.net/silangquan/article/details/41008183

  3. 正则--test exec search match replace

    1:test 是正则对象的方法不是字符串的方法,使用例子:正则对象也就是那个设定好的模式对象 var str = "hello world!"; var result = /^he ...

  4. linux常用命令 wc统计命令

    统计命令wc wc [选项] 文件名 选项 -l 只统计行数 -w 只统计单词数 -m 只统计字符数 192:linux_worspace aouo$ wc /etc/passwd     103   ...

  5. c语言判断闰年作业

    #include <stdio.h> int main() { int year,a; printf("请输人年份y:\n"); scanf("%d" ...

  6. Ubuntu系统建立交叉编译环境

    飞凌 FET6818核心板 解压编译器: tar zxvf arm-cortex_a9_eabi-4.7-eglibc-2.18.tar.gz  -C/opt 设置默认编译环境: vi /etc/pr ...

  7. kafka已生产消息查看

    在测试过程中有用到kafka,由于开发说我往kafka里面生产了消息,通知了对方要消费....看到这块一头雾水 kafka主要2个功能生产和消费 ##查询topic列表 ./kafka-topics. ...

  8. 福利来了,现“免费”赠送Spring微服务实战书籍

    本书适合拥有构建分布式应用程序的经验.拥有Spring的知识背景以及对学习构建基于微服务的应用程序感兴趣的Java开发人员阅读. 本书籍赠送活动详情,请识别上图二维码☝☝☝☝☝ 书籍推荐 本书教读者如 ...

  9. java字符串截取指定下标位置的字符串

    public class A { public static void main(String[] args) { //定义的字符串 String s = "Hello World" ...

  10. fastJson遇到的问题

    概述 现在的代码开发中,json这种数据类型使用的是越来越多,因为它的存取速度都比较快,而且,使用起来非常的简单,今天工作的时候,我就遇到了一个关于json的生产问题,这个问题我之前确实还没有注意过, ...