一、环境


CentOS 7.6

有预装 python 2.7

二、Anaconda 与 Conda 区别


1、Anaconda

Anaconda 是Python的一种发行版。包含了:

(1)conda

(2)某个版本的python

(3)预装好的packages

Anaconda Distribution还有Anaconda Navigator,提供了界面化的操作。

其实还有Miniconda,只有最基本的conda和python。

2、Conda

conda是Anaconda下的包管理环境管理工具。也可以单独安装。

三、Conda 跟 pip 区别


1、包的来源不一样

Conda 来源于 Anaconda repo and cloud (http://anaconda.org/)

pip(pip Installs Packages) 来源于 PyPI (https://pypi.python.org/pypi)

Anaconda存储库中提供了超过1,500个包,但与PyPI上提供的150,000多个软件包相比,它仍然很小。

2、包的种类不一样

pip 是 python 官方自带的包管理工具,只能安装 python 软件。

Conda包不仅限于Python软件。它们还可能包含C或C ++库,R包或任何其他软件。在这个意义上,它不像pip,更像是apt或yum等跨平台版本。

Conda 是一个与语言无关的跨平台环境管理器。

3、Conda 比 pip 多了环境管理功能

Pip没有内置的环境支持,除非使用第三方 virtualenv。

四、Anaconda (Conda) 的安装


1、下载

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

有 Python 3.7 和 Python 2.7 两个版本提供下载:

我们下载 Python 3.7版本,即Anaconda3-2018.12-Linux-x86_64.sh 文件。

2、安装

bash Anaconda3-2018.12-Linux-x86_64.sh

在当前路径安装后,会生成anaconda3目录和一些隐藏文件。

坑:安装报错

Anaconda3-2018.12-Linux-x86_64.sh: line 353: bunzip2: command not found

解决方案:安装 bzip2 包

yum install bzip2

3、添加环境变量

source .bashrc

4、如何判断安装成功?

conda --version

python --version(python 3.7版本会覆盖之前 centos 预装的2.7版本)

安装成功后,机器自带的 pip 和 python、python3 都会被Conda接管。

五、(Conda)环境管理


1、基本操作

# --------------------------

### 创建环境
conda create -n ds
conda create -n ds python=3.7 (推荐安装好 python,下面会说原因)
conda create -n ds python=3.4 scipy=0.15.0 astroid babel
# 还可以通过yml的环境文件(下面会介绍)
# 克隆环境(下面会介绍) # -------------------------- ### 激活环境
source activate ds
conda activate ds # -------------------------- ### 退出环境
source deactivate
conda deactivate # -------------------------- ### 删除环境
conda remove -n ds --all # -------------------------- ### 列出所有环境(一开始有一个名为base的默认环境)
conda info -e # --------------------------

2、克隆环境

conda create -n new_ds --clone ds

3、共享环境

用这个功能可以很好的迁移 python 项目的依赖环境,取代传统的 pip + virtualenv 的方式。

1、先激活环境

2、再导出环境配置文件
conda env export > environment.yml 3、再根据环境配置文件生成新环境
conda env create -f environment.yml 4、再激活新环境

一个典型的环境配置文件environment.yml如下:

name: ds
channels:
- https://mirrors.tuna.tsinghua.edu.cn/anaconda/pkgs/free
- https://mirrors.tuna.tsinghua.edu.cn/anaconda/pkgs/free/
- defaults
dependencies:
- ca-certificates=2019.1.23=0
- certifi=2019.3.9=py37_0
- pip:
- ansiwrap==0.8.4
- attrs==19.1.0
prefix: /mnt/ds/anaconda3/envs/ds

记得修改prefix路径,因为每台机器的anaconda3安装路径可能不一样。

坑1:共享环境不适用不同的操作系统(比如 linux 迁移到 mac)

解决办法:还是 docker 大法好啊!!

坑2:共享环境后,pip的包装不上

原因未知……待解决

解决办法:还是 docker 大法好啊!!

4、保存环境变量

5、构建相同的conda环境

我不太清楚 构建相同的conda环境 和 共享环境 有什么具体区别

6、实践要点【重点】

例如有 base(默认) 和 ds 两个环境。

(1)推荐创建新环境的时候,指定安装 python

即用conda create -n ds python=3.7取代conda create -n ds,不然会有一个坑,即用 pip 习惯性的去安装包的时候,因为 ds 环境没有装 python,自然就没有 pip 命令,那么 conda 的机制就会去使用 base 环境的 pip,那么装好的包虽然能在 ds 里用,但也能在 base 里用,最重要的是,若以后要做环境迁移,导出的 yml 文件,这个包只会存在 base 里,而不会在 ds 里!

(2)Jupyter notebook 选择 conda 环境

虽然机子上可能有多个 conda 环境,但坑的是 Jupyter notebook 始终都会选择 默认的 base 环境

解决办法:

是安装nb_conda_kernels包:conda install nb_conda_kernels

使用方法:

A、新建notebook时指定环境:

B、修改已存在的notebook的环境:

六、(Conda)渠道管理


七、(Conda)包管理


conda的设计理念:几乎将所有的工具、第三方包都当做package对待,甚至包括anaconda、python和conda自身

1、基本操作

# --------------------------

### 查找包
conda search numpy # 按照全称查找
conda search --full-name python # -------------------------- ### 安装包
conda install numpy # 指定版本
conda install scipy=0.15.0 # 指定环境 (其他的命令也可以用这种写法)
conda install -n python34 numpy # -------------------------- ### 更新包
conda update -n python34 numpy
# 更新anaconda
conda update anaconda
# 更新conda
conda update conda
# 更新 python
conda update python # -------------------------- ### 删除包
conda remove -n python34 numpy # -------------------------- ### 查看安装了的包
conda list
conda list zlib # --------------------------

2、包的来源顺序

(1)conda / Anaconda.org

(2)pip

当conda和pip一起用于创建环境时会出现问题

解决方案:https://www.anaconda.com/using-pip-in-a-conda-environment/

3、添加镜像

# 添加Anaconda的TUNA镜像
conda config --add channels https://mirrors.tuna.tsinghua.edu.cn/anaconda/pkgs/free/

参考资料

https://docs.anaconda.com/anaconda/install/

https://docs.conda.io/projects/conda/en/latest/user-guide/overview.html

Anaconda / Conda 实践的更多相关文章

  1. Anaconda/Conda创建环境时报错的解决方案

    按照Conda网站上的提示安装完Conda之后,想要用conda create创建环境,一直报错: ERROR conda.core.link:_execute_actions(337): An er ...

  2. Anaconda, conda, pyenv, virtualenv的区别

    1.Python环境 Python解释器--Python.exe Python包集合--Lib,包括自带包和第三方包 2.Anaconda--一个科学计算环境,Python的发行版本 包括了Conda ...

  3. Python 学习笔记(基础篇)

    背景:今年开始搞 Data science ,学了 python 小半年,但一直没时间整理整理.这篇文章很基础,就是根据廖雪峰的 python 教程 整理了一下基础知识,再加上自己的一些拓展,方便自己 ...

  4. Anaconda安装第三方库与pip和conda 添加国内源

    Anaconda安装第三方库 PIP使用命令 Anaconda命令 pip和conda 添加国内源 1:PIP相关命令 卸载 pip uninstall XXX 1.升级pip python -m p ...

  5. 简明conda使用指南

    目录 区分conda, anaconda, miniconda conda版本 虚拟环境 分享环境 查看某个环境的位置 列出软件包 安装软件包 删除软件包 查找软件包 conda配置 conda实践: ...

  6. Python科学计算(一)环境简介——Anaconda Python

    Anaconda Python 是 Python 科学技术包的合集,功能和 Python(x,y) 类似.它是新起之秀,已更新多次了.包管理使用 conda,GUI基于 PySide,所有的包基本上都 ...

  7. Anaconda使用

    转自PeterYuan   序 Python易用,但用好却不易,其中比较头疼的就是包管理和Python不同版本的问题,特别是当你使用Windows的时候.为了解决这些问题,有不少发行版的Python, ...

  8. anaconda 环境新建/删除/拷贝 jupyter notebook上使用python虚拟环境 TensorFlow

    naconda修改国内镜像源 国外网络有时太慢,可以通过配置把下载源改为国内的通过 conda config 命令生成配置文件,这里使用清华的镜像: https://mirrors.tuna.tsin ...

  9. anaconda的使用总结

    致python初学者:Anaconda入门使用指南 http://python.jobbole.com/87522/ Anaconda使用总结 http://python.jobbole.com/86 ...

随机推荐

  1. vuex状态管理

    msvue组件间通信时,若需要改变多组件间共用状态的值.通过简单的组件间传值就会遇到问题.如:子组件只能接收但改变不了父组件的值.由此,vuex的出现就是用作各组件间的状态管理. 简单实例:vuex的 ...

  2. 洛谷P1576||最小花费||dijkstra||双向建边!!

    题目描述 在n个人中,某些人的银行账号之间可以互相转账.这些人之间转账的手续费各不相同.给定这些人之间转账时需要从转账金额里扣除百分之几的手续费,请问A最少需要多少钱使得转账后B收到100元. 数据范 ...

  3. 合适IT人的健身技巧

    合适IT人的健身技巧: 健身益寿生活十条 虽然遗传学家说人的平均寿命可长达120岁,但本世纪人的寿命远远达不到这个数字^有鉴于此,国外一批医生.心理学家和营养学家制定了健身益寿生活10条准则,认为如能 ...

  4. 修改oracle的字符集操作方法

    cmd环境下进行以下命令行的操作--连接sqlplus / as sysdba--命令行shutdown immediate; startup mount ALTER SYSTEM ENABLE RE ...

  5. AndroidStudio 问题点 - app:preFUNDebugAndroidTestBuild

    Error:Execution failed for task ':app:preFUNDebugAndroidTestBuild'. >Conflictwith dependency 'com ...

  6. fortran常用语句--读写带注释文档、动态数组等语法

    1.判断读取文档有多少行数据(文档最后的空行不计入其中): 首先在变量定义区域下方和执行语句前声明在程序中要被调用的GetFileN函数: external GetFileN 接下来在函数外部后边写上 ...

  7. python操作Redis安装、支持存储类型、普通连接、连接池

    一.python操作redis安装和支持存储类型 安装redis模块 pip3 install redis 二.Python操作Redis之普通连接 redis-py提供两个类Redis和Strict ...

  8. linux之Ubuntu学习

    开始学习Linux系统是在通过虚拟机VMware上安装Ubuntu操作系统来学习的. 一.Ubuntu安装及使用 第一步:安装虚拟机VMware 第二步:虚拟机安装好之后,创建一个新的虚拟机,安装Ub ...

  9. Android中监控USB的插拔

    一.需求 在Android应该开发过程中,用到了USB通讯,需要应用监控USB设备的插入和拔出,从而刷新USB设备列表. 二.实现 在使用时,需要register和unregister. 通过UsbD ...

  10. 执行一个内容为SQL语句的字符串

    两种方式:exec (sqlStr);或exec sp_executesql @sqlStr;绝大多数情况下,应使用第二种方式来执行动态sql.因为这种方式能重用执行计划,并且更安全. 参考例子:ht ...