Anaconda简介
Anaconda是一个用于科学计算的Python发行版,支持Linux, Mac, Windows系统,提供了包管理与环境管理的功能,可以很方便地解决多版本python并存、切换以及各种第三方包安装问题,可以理解为Anaconda是一种预装了很多第三方库的Python版本。
注意,Anaconda只是一个Python发行版,与官方版本不同的是它支持科学计算,并提供包管理与环境管理的功能。
比如在一个项目中用了Python 2.7,而新的项目要求使用Python 3.6,同时安装两个Python版本可能会造成混乱,那么可以使用anaconda为不同的项目建立不同的运行环境;此外还有很多项目使用的库的版本不同,比如不同神经网络项目使用的 Numpy 版本不同,那么利用anaconda可以为每个 Numpy 版本创建一个环境,使项目在对应环境中工作。
下载
这里下载的是python 2.7版本。
在Anaconda官网下载了python 2.7的64位的Installer:Anaconda2-5.0.0.1-Linux-x86_64.sh
或者在国内镜像下载,速度可能要快些。
安装
$ ./Anaconda2-5.0.0.1-Linux-x86_64.sh
配置
1.创建或修改condarc文件的方法:
使用conda config命令或者使用文本编辑器直接创建以.condarc
结尾的文件并保存在用户的home目录或在root目录下。
修改配置文件的方法:
直接修改.condarc
文件或者使用conda config --set命令,如要设置auto_update_conda为False,则执行:conda config --set auto_update_conda False
2.修改镜像地址
Anaconda 镜像的地址默认在国外,用 conda 安装的时候可能会很慢,因此可以将其改为国内镜像源地址,修改 ~/.condarc :
channels:
- https://mirrors.tuna.tsinghua.edu.cn/anaconda/pkgs/free/
- defaults
show_channel_urls: true
但是依然出现了如下问题:
$ conda install numpy
Fetching package metadata .......
CondaHTTPError: HTTP 000 CONNECTION FAILED for url <https://repo.continuum.io/pkgs/free/linux-64/repodata.json.bz2>
Elapsed: -
An HTTP error occurred when trying to retrieve this URL.
HTTP errors are often intermittent, and a simple retry will get you on your way.
ConnectionError(MaxRetryError("HTTPSConnectionPool(host='repo.continuum.io', port=443): Max retries exceeded with url: /pkgs/free/linux-64/repodata.json.bz2 (Caused by NewConnectionError('<urllib3.connection.VerifiedHTTPSConnection object at 0x7f86415a4790>: Failed to establish a new connection: [Errno 101] Network is unreachable',))",),)
在网上查到了解决方法:打开现有的~.condarc,在下面加上default_channels
,添加后才不会报上面的错误:
default_channels:
- https://mirrors.tuna.tsinghua.edu.cn/anaconda/pkgs/free
- https://mirrors.tuna.tsinghua.edu.cn/anaconda/cloud/conda-forge
基本使用方法
$ conda install numpy
Fetching package metadata .......
Solving package specifications: .
Package plan for installation in environment /home/anaconda2:
The following NEW packages will be INSTALLED:
libgfortran: 3.0.0-1 defaults
The following packages will be UPDATED:
anaconda: 5.0.0.1-py27h1e3bc52_1 https://repo.continuum.io/pkgs/main --> custom-py27_0 defaults
The following packages will be SUPERSEDED by a higher-priority channel:
conda: 4.3.27-py27hff99c7a_0 https://repo.continuum.io/pkgs/main --> 4.3.27-py27hff99c7a_0 defaults
conda-env: 2.6.0-h36134e3_1 https://repo.continuum.io/pkgs/main --> 2.6.0-0 defaults
mkl: 2018.0.0-hb491cac_4 https://repo.continuum.io/pkgs/main --> 2017.0.3-0 defaults
mkl-service: 1.1.2-py27hb2d42c5_4 https://repo.continuum.io/pkgs/main --> 1.1.2-py27_3 defaults
numexpr: 2.6.2-py27he5efce1_1 https://repo.continuum.io/pkgs/main --> 2.6.2-np113py27_0 defaults
numpy: 1.13.1-py27hd1b6e02_2 https://repo.continuum.io/pkgs/main --> 1.13.1-py27_0 defaults
scikit-learn: 0.19.0-py27hd893acb_2 https://repo.continuum.io/pkgs/main --> 0.19.0-np113py27_0 defaults
scipy: 0.19.1-py27h1edc525_3 https://repo.continuum.io/pkgs/main --> 0.19.1-np113py27_0 defaults
Proceed ([y]/n)?
conda-env-2.6. 100% |##############################################################################################| Time: 0:00:00 26.71 kB/s
libgfortran-3. 100% |##############################################################################################| Time: 0:00:00 488.71 kB/s
mkl-2017.0.3-0 100% |##############################################################################################| Time: 0:04:38 488.32 kB/s
anaconda-custo 100% |##############################################################################################| Time: 0:00:00 2.50 MB/s
mkl-service-1. 100% |##############################################################################################| Time: 0:00:00 15.83 MB/s
numpy-1.13.1-p 100% |##############################################################################################| Time: 0:00:14 491.45 kB/s
numexpr-2.6.2- 100% |##############################################################################################| Time: 0:00:00 569.24 kB/s
scipy-0.19.1-n 100% |##############################################################################################| Time: 0:01:17 479.33 kB/s
scikit-learn-0 100% |##############################################################################################| Time: 0:00:24 484.30 kB/s
conda-4.3.27-p 100% |##############################################################################################| Time: 0:00:00 548.18 kB/
查看environment:
$ conda info --envs
# conda environments:
#
root * /home/anaconda2
创建py27环境:
$ conda create --name py27 python=2.7
Fetching package metadata .......
Solving package specifications: .
Package plan for installation in environment /home/anaconda2/envs/py27:
The following NEW packages will be INSTALLED:
certifi: 2016.2.28-py27_0 defaults
openssl: 1.0.2l-0 defaults
pip: 9.0.1-py27_1 defaults
python: 2.7.13-0 defaults
readline: 6.2-2 defaults
setuptools: 36.4.0-py27_1 defaults
sqlite: 3.13.0-0 defaults
tk: 8.5.18-0 defaults
wheel: 0.29.0-py27_0 defaults
zlib: 1.2.11-0 defaults
Proceed ([y]/n)? y
openssl-1.0.2l 100% |##############################################################################################| Time: 0:00:05 619.56 kB/s
readline-6.2-2 100% |##############################################################################################| Time: 0:00:01 540.03 kB/s
sqlite-3.13.0- 100% |##############################################################################################| Time: 0:00:09 447.80 kB/s
tk-8.5.18-0.ta 100% |##############################################################################################| Time: 0:00:03 574.56 kB/s
zlib-1.2.11-0. 100% |##############################################################################################| Time: 0:00:00 284.97 kB/s
python-2.7.13- 100% |##############################################################################################| Time: 0:00:24 496.05 kB/s
certifi-2016.2 100% |##############################################################################################| Time: 0:00:00 579.44 kB/s
wheel-0.29.0-p 100% |##############################################################################################| Time: 0:00:00 554.10 kB/s
setuptools-36. 100% |##############################################################################################| Time: 0:00:01 537.49 kB/s
pip-9.0.1-py27 100% |##############################################################################################| Time: 0:00:03 499.20 kB/s
#
# To activate this environment, use:
# > source activate py27
#
# To deactivate an active environment, use:
# > source deactivate
#
进入环境,发现没有此前安装的numpy,证明了以前安装的numpy只是在某个环境(如root)生效:
$ source activate py27
(py27) $ conda list -n py27
# packages in environment at /home/anaconda2/envs/py27:
#
certifi 2016.2.28 py27_0 defaults
openssl 1.0.2l 0 defaults
pip 9.0.1 py27_1 defaults
python 2.7.13 0 defaults
readline 6.2 2 defaults
setuptools 36.4.0 py27_1 defaults
sqlite 3.13.0 0 defaults
tk 8.5.18 0 defaults
wheel 0.29.0 py27_0 defaults
zlib 1.2.11 0 defaults
在py27环境下安装numpy:
(py27) $ conda install numpy
Fetching package metadata .......
Solving package specifications: .
Package plan for installation in environment /home/anaconda2/envs/py27:
The following NEW packages will be INSTALLED:
mkl: 2017.0.3-0 defaults
numpy: 1.13.1-py27_0 defaults
Proceed ([y]/n)? y
(py27) $ conda list
# packages in environment at /home/anaconda2/envs/py27:
#
certifi 2016.2.28 py27_0 defaults
mkl 2017.0.3 0 defaults
numpy 1.13.1 py27_0 defaults
openssl 1.0.2l 0 defaults
pip 9.0.1 py27_1 defaults
python 2.7.13 0 defaults
readline 6.2 2 defaults
setuptools 36.4.0 py27_1 defaults
sqlite 3.13.0 0 defaults
tk 8.5.18 0 defaults
wheel 0.29.0 py27_0 defaults
zlib 1.2.11 0 defaults
(py27) $ python
Python 2.7.13 |Continuum Analytics, Inc.| (default, Dec 20 2016, 23:09:15)
[GCC 4.4.7 20120313 (Red Hat 4.4.7-1)] on linux2
Type "help", "copyright", "credits" or "license" for more information.
Anaconda is brought to you by Continuum Analytics.
Please check out: http://continuum.io/thanks and https://anaconda.org
>>> import numpy
>>>
总结
以上就是在Ubuntu 16.04 64位环境下安装anaconda2-5.0.1的过程,需要注意的地方就是在condarc中设置了default_channels才成功,网上大多数教程只设置了channels就可以下载了。
网友评论