Anaconda 介紹、安裝和使用指南(詳細(xì)版本)

Anaconda

1. Anaconda 與 Conda 是什么?

1.1 什么是 Anaconda

Anaconda 是一個用于python/R科學(xué)計算和機器學(xué)習(xí)的開源工具(也稱為Python的一種發(fā)行版),支持 Linux, macOS, Windows, 包含了conda等眾多工具包及其依賴項,提供了包管理與環(huán)境管理的功能,可以很方便地解決多版本python并存、切換以及各種第三方包安裝問題。到目前為止,它在全世界擁有超過1100萬用戶。

講到Anaconda,就不得不提到Miniconda 。

1.2 什么是 Miniconda

  • 相較于Anaconda會預(yù)安裝眾多的軟件包,Miniconda就是一個迷你 Anaconda,只是預(yù)安裝conda、Python及其依賴;
  • 用戶在使用過程中根據(jù)自己的需求再使用conda安裝軟件包或創(chuàng)建各種環(huán)境;
  • 對于內(nèi)存有限,或者覺得Anaconda預(yù)安裝過于冗余的童鞋可以選擇Miniconda.

1.3 什么是 conda

Package, dependency and environment management for any language—Python, R, Ruby, Lua, Scala, Java, JavaScript, C/ C++, FORTRAN*

conda是一種開源的包和環(huán)境管理系統(tǒng)。

  • 適用語言:Python, R, Ruby, Lua, Scala, Java, JavaScript, C/ C++, FORTRAN*
  • 適用平臺:Windows, macOS, Linux
包管理
  • 作為包管理工具,conda將所有的工具和第三方程序都當(dāng)作包來管理;
  • conda 可以快速安裝,運行和更新包及其相關(guān)的依賴關(guān)系。
環(huán)境管理
  • conda也是一個環(huán)境管理工具, 可以創(chuàng)建多個虛擬環(huán)境,并基于工作目的在切換環(huán)境使用不同版本的工具包。例如,電腦上除了默認(rèn)版本的Python,還可以創(chuàng)建其他各種版本python封閉環(huán)境,并在這些python版本之間進(jìn)行快速切換。

講到到Python包管理器,就不得不提到 pip。 pip是標(biāo)準(zhǔn)Python發(fā)行版自帶的包管理工具,用于查找、下載、安裝、卸載安裝包。

conda VS pip

pip

  • pip是標(biāo)準(zhǔn)Python發(fā)行版的包管理器,只能用于Python;
  • pip安裝包時并不會自動安裝相關(guān)的依賴關(guān)系;
  • pip 無法管理Python 版本;

conda

  • conda 安裝包時會自動安裝相關(guān)的依賴關(guān)系;
  • conda 適用于Python, R等多種語言,可以安裝python包以外的其他軟件;
  • conda 可以管理Python 版本;
  • conda 可以創(chuàng)建和管理虛擬環(huán)境;

1.4 Anaconda 的優(yōu)點

Anaconda-Open-Source-Projects
  • 快速下載和安裝1500 + Python/R 數(shù)據(jù)科學(xué)包
  • 使用Conda 管理庫、依賴項和環(huán)境
  • 使用scikit-learn、TensorFlow和Theano開發(fā)和訓(xùn)練機器學(xué)習(xí)和深度學(xué)習(xí)模型
  • 使用Dask、NumPy、panda和Numba分析數(shù)據(jù)
  • 使用Matplotlib、Bokeh、Datashader和Holoviews可視化結(jié)果

2. Anaconda 安裝

安裝條件

  • 操作系統(tǒng): Windows >= 7.0, 64-bit macOS 10.10+, Linux( Ubuntu, RedHat, CentOS 6+)
  • 磁盤大小:>5 GB

Anaconda官網(wǎng)下載Anaconda ,下載Python 3.7 version ;

這個有兩種安裝模式:
64-Bit Graphical Installer (634 MB)
64-Bit Command-Line Installer (544 MB)

2.1 基于macOS GUI方式安裝
  • Anaconda Distribution頁面下載安裝包:Anaconda3-5.3.1-MacOSX-x86_64.pkg
  • 安裝:直接雙擊;


    Anaconda Installation
  • 接下來,一步步Continue;
  • 最終出現(xiàn)如下界面,就表示安裝成功了。


    anaconda installation
2.2 基于macOS的命令操作方式安裝

Anaconda Distribution頁面下載安裝包: Anaconda3-5.3.1-MacOSX-x86_64.sh

bash ~/Downloads/Anaconda3-5.3.1-MacOSX-x86_64.sh
  • 接著出現(xiàn):Please, press ENTER to continue ;
  • 按下 Enter 鍵繼續(xù): 這一步就是瀏覽軟件許可協(xié)議,直接按Enter滑到底,輸入yes, 接下來出現(xiàn):
Anaconda3 will now be installed into this location:
/Users/Username/anaconda3  #anaconda3現(xiàn)在安裝路徑


  \- Press ENTER to confirm the location #ENTER確認(rèn)anaconda3就安裝到/Users/Username下
  \- Press CTRL-C to abort the installation #中止安裝
  \- Or specify a different location below #在后面自己指定安裝路徑
  • 這兒選擇默認(rèn)安裝路徑( /home/<user>/.bash_profile),直接點擊Enter;
    好了,接下來泡杯茶,等一會兒。。。。。。。。。。。。
  • 安裝好了之后,又要推銷Microsoft VScode;
    我選擇no,因為我已經(jīng)安裝過了;
$ source ~/.bash_profile
$ python --version
Python 3.6.7 :: Anaconda, Inc.
$ vi ~/.bash_profile

Anaconda安裝好了,打開Anaconda Navigator檢查一下;

3. Anaconda Navigator 了解和使用

3.1 Anaconda Navigator
Anaconda Navigator

Anaconda Navigator是 Anaconda 內(nèi)置的桌面圖形用戶界面(GUI),不需要使用命令行就可以啟動應(yīng)用和管理conda包和環(huán)境。

Home: 當(dāng)前環(huán)境下的應(yīng)用程序

  • 在Spyder IDE中運行Python
Spyder IDE

打開Spyder ,展示的是默認(rèn)界面(通過view -> Panes 調(diào)整):

左邊面板是編輯器;
右上方面板可以查看幫助,變量,當(dāng)前目錄文件系統(tǒng);
右下面板是IPython console: 可以查看運行結(jié)果或運行日志;

a.構(gòu)建一個hello.py程序

print("Hello Anaconda")

b. 運行(F5),右下角Console查看程序運行狀態(tài)

  • 在Jupyter Notebook中運行Python

Try in Your Browser. No Installation Needed.


jupyter

啟動jupyter notebook

$ jupyter notebook
#New->Python3
print("Hello Anaconda")
#Run or  Cell -> Run Cells
  • jupyterlab
    基于Web 的下一代 Jupyter,集成了更多的功能;

    jupyter lab

  • Qt console
    Qt console 作為一個非常輕量級的應(yīng)用程序,在很大程度上與終端是相似的;但是 它也擁有GUI的部分功能, 內(nèi)聯(lián)圖片,語法高亮......

import numpy as np
import matplotlib.pyplot as plt
from scipy.special import jn
import math
x = np.linspace(0,4*math.pi)
for i in range(6):
     plt.plot(x,jn(i,x))

Qt console

Environments: Anaconda 下的環(huán)境管理;可以創(chuàng)建,克隆,導(dǎo)入,移除;
Learning: 學(xué)習(xí)資料
Community : Anaconda 社區(qū)
Document : Anaconda 教程
Developer Blog : Anaconda 開發(fā)者博客

4. conda 使用

conda 命令一覽:
conda clean: ??#刪除沒有用到的包和清除緩存
conda config: ??#修改 .condarc 中的配置;這個命令是模仿 git config而來;默認(rèn)寫入到~/.condarc
conda create: ??#用于創(chuàng)建新環(huán)境
conda info: ??#查看conda 詳細(xì)信息
conda install: ??#為指定的環(huán)境安裝包
conda list: ??#查看指定環(huán)境安裝包信息
conda remove: ??#移除指定環(huán)境指定安裝包
conda search: ??#搜索安裝包,并展示搜索結(jié)果
conda update: ??#更新安裝包

4.1 管理 conda

conda 版本查看

$ conda --version
conda 4.5.12

conda 版本更新

$ conda update conda

4.2 conda 管理環(huán)境

查看已安裝的環(huán)境

conda env list   #conda info --envs

創(chuàng)建一個名為python36的環(huán)境,并安裝Python 3.6和pandas

conda create --name python36 python=3.6 pandas

激活某個環(huán)境

conda 4.6以后版本
Windows: conda activate python36
Linux and macOS: conda activate python36

conda 4.6以前版本
Windows: activate python36
Linux and macOS: source activate python36

退出當(dāng)前環(huán)境

conda deactivate

返回默認(rèn)環(huán)境

conda activate

分享環(huán)境:將當(dāng)前環(huán)境信息生成YAML文件

conda env export > environment.yaml

YAML文件格式:

name: stats2
channels:
  - javascript
dependencies:
  - python=3.4   # or 2.7
  - bokeh=0.9.2
  - numpy=1.9.*
  - nodejs=0.10.*
  - flask
  - pip:
    - Flask-Testing

利用YAML文件生成環(huán)境

conda env create -f environment.yaml

刪除一個已有的環(huán)境及其安裝包

conda remove --name myenv --all

4.3 conda 管理Python

創(chuàng)建一個包含Python 2.7的環(huán)境

conda create --name python27 python=2.7
conda activate python27
python -V
Python 2.7.15 :: Anaconda, Inc.

克隆環(huán)境python27: 可以使用此方法為環(huán)境重新命名

conda create --name myclone --clone python27

4.4 conda 管理包

查看當(dāng)前環(huán)境已經(jīng)安裝的包

    conda list  

查看指定環(huán)境中的安裝包

    conda list -n python27

在Anaconda 庫中搜索包

    conda search numpy  #模糊搜索
    conda search numpy=1.12
    conda search numpy[subdir=linux-64] #指定系統(tǒng)
    conda search --override-channels --channel http://conda.anaconda.org/mutirri iminuit  #指定倉庫安裝包

安裝包到當(dāng)前環(huán)境

    conda install numpy

安裝包到指定環(huán)境

    conda install -n python27 numpy

同時安裝多個包到當(dāng)前環(huán)境

    conda install numpy scipy

安裝指定版本包到指定環(huán)境

    conda install -n python27 scipy=0.15.0

安裝包更新

    conda update numpy

移除安裝包

    conda remove -n python27 scipy

4.5 Anaconda channels管理

Channels are the path that conda takes to look for packages.

conda 安裝包時,首先在一系列倉庫搜索包,然后根據(jù)規(guī)則進(jìn)行優(yōu)先級排序(默認(rèn)):

  1. 根據(jù)channel priority排序;
  2. 根據(jù)version number排序;
  3. 根據(jù)build number排序;
  4. 選取優(yōu)先級最高的包進(jìn)行安裝;

安裝所有channel中最新版本, 如下設(shè)置

    conda config --set channel_priority false

包安裝規(guī)則順序改為:

  1. 根據(jù)version number排序;
  2. 根據(jù)channel priority排序;
  3. 根據(jù)build number排序;
  4. 選取優(yōu)先級最高的包進(jìn)行安裝;

查看已有的 channels

    conda config --get channels

添加 channels

    conda config --add channels

添加新的channel到最高優(yōu)先級

    conda config --add channels new_channel

添加新的channel到最低優(yōu)先級

    conda config --append channels new_channel

Anaconda 三方源

Conda-forge 包含許多默認(rèn)channel中不存的packages;
Bioconda 是一個生物信息Channel, 提供超過6000個生物信息分析安裝包供conda使用。

    conda config --add channels bioconda
    conda config --add channels conda-forge

使用國內(nèi)Anaconda 倉庫的鏡像可以使conda加速安裝工具。
添加清華大學(xué)Anaconda 鏡像

    conda config --add channels https://mirrors.tuna.tsinghua.edu.cn/anaconda/pkgs/free/
    conda config --add channels https://mirrors.tuna.tsinghua.edu.cn/anaconda/pkgs/main/
    # Conda Forge
    conda config --add channels https://mirrors.tuna.tsinghua.edu.cn/anaconda/cloud/conda-forge/ 
    # bioconda
    conda config --add channels https://mirrors.tuna.tsinghua.edu.cn/anaconda/cloud/bioconda/

移除channel

    conda config --remove channels channelName

參考:
Installing Anaconda Distribution on macOS
Anaconda Navigator
Navigator Cheat Sheet
Conda
conda cheat sheet
清華大學(xué)開源軟件鏡像站-Anaconda 鏡像使用幫助

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
  • 序言:七十年代末,一起剝皮案震驚了整個濱河市,隨后出現(xiàn)的幾起案子,更是在濱河造成了極大的恐慌,老刑警劉巖,帶你破解...
    沈念sama閱讀 227,663評論 6 531
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件,死亡現(xiàn)場離奇詭異,居然都是意外死亡,警方通過查閱死者的電腦和手機,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 98,125評論 3 414
  • 文/潘曉璐 我一進(jìn)店門,熙熙樓的掌柜王于貴愁眉苦臉地迎上來,“玉大人,你說我怎么就攤上這事。” “怎么了?”我有些...
    開封第一講書人閱讀 175,506評論 0 373
  • 文/不壞的土叔 我叫張陵,是天一觀的道長。 經(jīng)常有香客問我,道長,這世上最難降的妖魔是什么? 我笑而不...
    開封第一講書人閱讀 62,614評論 1 307
  • 正文 為了忘掉前任,我火速辦了婚禮,結(jié)果婚禮上,老公的妹妹穿的比我還像新娘。我一直安慰自己,他們只是感情好,可當(dāng)我...
    茶點故事閱讀 71,402評論 6 404
  • 文/花漫 我一把揭開白布。 她就那樣靜靜地躺著,像睡著了一般。 火紅的嫁衣襯著肌膚如雪。 梳的紋絲不亂的頭發(fā)上,一...
    開封第一講書人閱讀 54,934評論 1 321
  • 那天,我揣著相機與錄音,去河邊找鬼。 笑死,一個胖子當(dāng)著我的面吹牛,可吹牛的內(nèi)容都是我干的。 我是一名探鬼主播,決...
    沈念sama閱讀 43,021評論 3 440
  • 文/蒼蘭香墨 我猛地睜開眼,長吁一口氣:“原來是場噩夢啊……” “哼!你這毒婦竟也來了?” 一聲冷哼從身側(cè)響起,我...
    開封第一講書人閱讀 42,168評論 0 287
  • 序言:老撾萬榮一對情侶失蹤,失蹤者是張志新(化名)和其女友劉穎,沒想到半個月后,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體,經(jīng)...
    沈念sama閱讀 48,690評論 1 333
  • 正文 獨居荒郊野嶺守林人離奇死亡,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點故事閱讀 40,596評論 3 354
  • 正文 我和宋清朗相戀三年,在試婚紗的時候發(fā)現(xiàn)自己被綠了。 大學(xué)時的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片。...
    茶點故事閱讀 42,784評論 1 369
  • 序言:一個原本活蹦亂跳的男人離奇死亡,死狀恐怖,靈堂內(nèi)的尸體忽然破棺而出,到底是詐尸還是另有隱情,我是刑警寧澤,帶...
    沈念sama閱讀 38,288評論 5 357
  • 正文 年R本政府宣布,位于F島的核電站,受9級特大地震影響,放射性物質(zhì)發(fā)生泄漏。R本人自食惡果不足惜,卻給世界環(huán)境...
    茶點故事閱讀 44,027評論 3 347
  • 文/蒙蒙 一、第九天 我趴在偏房一處隱蔽的房頂上張望。 院中可真熱鬧,春花似錦、人聲如沸。這莊子的主人今日做“春日...
    開封第一講書人閱讀 34,404評論 0 25
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽。三九已至,卻和暖如春,著一層夾襖步出監(jiān)牢的瞬間,已是汗流浹背。 一陣腳步聲響...
    開封第一講書人閱讀 35,662評論 1 280
  • 我被黑心中介騙來泰國打工, 沒想到剛下飛機就差點兒被人妖公主榨干…… 1. 我叫王不留,地道東北人。 一個月前我還...
    沈念sama閱讀 51,398評論 3 390
  • 正文 我出身青樓,卻偏偏與公主長得像,于是被迫代替她去往敵國和親。 傳聞我的和親對象是個殘疾皇子,可洞房花燭夜當(dāng)晚...
    茶點故事閱讀 47,743評論 2 370

推薦閱讀更多精彩內(nèi)容