Python數據科學環境:Anaconda 瞭解一下

幾乎全部的 Python 學習者都遇到過「安裝」方面的問題。這些安裝問題包括 Python 自身環境的安裝、第三方模塊的安裝、不一樣版本的切換,以及不一樣平臺、版本間的兼容問題等。當你由於這些問題而卡殼,一行代碼沒寫就已瘋,相信我,你不是一我的……包括我本身,也是這麼被坑過來的。python

我本身印象最深的是在 Mac 上安裝 pycrypto(加密)和 scipy(科學計算)模塊,折騰了好久。由於這類模塊並非單純的 Python 代碼,而是須要調用諸如 C 語言的庫,因而就牽涉到在不一樣平臺上的編譯,有些還不能很方便地用虛擬環境分離版本。在數次嘗試失敗以後,最終靠着同樣工具竟輕鬆搞定。這就是今天要介紹的:編程

Anacondaflask

應該有很多人已經瞭解和在使用中,另外也考慮到先 Mark 之後須要時再看的收藏黨,這裏先給個「嫌長不想看」版:瀏覽器

  1. Anaconda 就是一個擴展版 Python,最直接的好處是幫你打包好了一整套數據科學相關的 Python 庫,一次安裝就能夠擁有數據分析、數值計算、數據可視化、機器學習經常使用的幾十個庫,不用擔憂安裝不成功、版本不匹配等問題,省時省心。
  2. Anaconda 的核心是 conda 這個包/環境管理器,相似於咱們以前介紹過的虛擬環境 virtualenv,且功能更豐富。裝了 Anaconda,同時也就可使用 conda 來管理電腦上不一樣版本的 Python 環境。
  3. 若是對 conda 的使用不熟悉也不要緊。Anaconda 還附帶了一個叫作 Navigator(導航)的桌面 GUI 工具,能夠直觀的建立和管理環境,安裝、刪除擴展包
  4. Anaconda 安裝後,附帶了 Jupyter 和 Spyder 兩種 IDE。Jupyter 是一種基於瀏覽器的交互式開發環境,這種邊開發邊執行的模式很適合編寫數據科學類的程序。Spyder 的界面和 Matlab 很類似。不過若是你對 PyCharm 已經熟悉,也能夠直接經過設置 interpreter(解釋器)路徑來直接使用 Anaconda 的環境。

主要就是這幾點,若是你在使用中遇到過什麼問題,歡迎在文本下方留言討論。有其餘想法或者想聽的內容,也歡迎告訴咱們。安全


Anaconda 這個詞,字面意思和 Python 相似,都是大蟒蛇。系列電影《狂蟒之災》的主角就是這玩意兒。美國著名嘻哈歌手麻辣雞(Nicki Minaj)有首歌就叫《Anaconda》(本文的封面,小孩子不要去搜)。這個項目命名其實很形象:Anaconda 就是一種更大的 Python服務器

再作個類比:安裝了 Python 就像買了個毛坯房,雖然刷了塗料通了水電(內置庫),但你真的想住進去,還得本身根據須要進行裝修(安裝各類第三方庫)。而 Anaconda 就是個精裝修。這個精裝是面向數據科學的,同時也保留了你本身進一步改裝的空間。網絡

官網上有一個 Anaconda 支持庫的列表:機器學習

http://docs.anaconda.com/anaconda/packages/pkg-docs/ 編輯器

裏面有不少熟悉的面孔(挑了其中幾個常見的):工具

打鉤的是包含在安裝包中,未打鉤的須要後續手動安裝。數據分析必備的 numpy、pandas、scipy、matplotlib 自不用說,像數據採集的 requests、beautifulsoup、scapy,Web 開發的 flask,GUI 的 pyqt,圖像處理的 pillow,機器學習 scikit-learn,都直接幫你裝好了。就連 vs2015_runtime 這種也爲你貼心附上,被坑過的同窗應該都懂。

惟一的缺點大概就是這樣會比較佔空間。但既然你都下決心深刻 Python 開發了,這也就是少裝一個遊戲的空間吧。

若是你安裝 Anaconda 的話,是沒必要裝 Python 的,由於它自己包含了 Python 的環境,避免了版本不匹配的問題。Windows、Mac、Linux 三個平臺都支持,直接從官網下載安裝便可。(建議選擇最新版)

https://www.anaconda.com/download/

正常按提示安裝沒有太大問題,網上的安裝示例也一搜一大把,這裏不贅述。Windows 建議安裝時右鍵點擊,選擇「以管理員身份運行」。

安裝好以後,檢查下你的 Python 是否已是 Anaconda 環境下的了。(從提示中能夠看出)

這時候,你能夠經過 conda 來管理你的安裝包和環境。使用方法和咱們以前介紹過的 virtualenv 相似(參見《爲何你的python版本一團糟?由於少了這個操做》)。經常使用的命令有

  • conda list:查看環境中的全部包
  • conda install XXX:安裝 XXX 包
  • conda remove XXX:刪除 XXX 包
  • conda env list:列出全部環境
  • conda create -n XXX:建立名爲 XXX 的環境
  • conda env remove -n XXX:刪除指定環境
  • activate XXX(或 source activate XXX):啓用 XXX 環境
  • deactivate(或 source deactivate):退出環境

同 pip 同樣,若是使用 conda 安裝很慢,能夠經過修改國內源的方式來加速。修改 C:\Users\當前用戶名\.condarc(非 Windows 是 ~/.condarc),加入以下配置:

channels:
 - https://mirrors.tuna.tsinghua.edu.cn/anaconda/pkgs/free/
 - defaults
show_channel_urls: true

Anaconda 的又一貼心之處在於,給了你一個叫作 Anaconda Navigator 的桌面 GUI 工具,把上述 conda 的功能都作成了點擊按鈕就能夠完成的事情。

包管理和環境管理都一目瞭然。

數據科學庫、包/環境管理、Navigator 工具,這幾樣就是 Anaconda 的主要功能。

另外值得一提的是:Anaconda 是附帶了一系列第三方庫的 Python 以及對這些庫的管理工具,和咱們以前說的 PyCharm 不是一類東西。PyCharm 是 IDE,用來寫代碼的編輯器。你能夠把 Anaconda 做爲運行環境放在 PyCharm 裏使用。只要你建立項目的時候選擇已經配置好的 Anaconda 環境便可。關於 PyCharm 的具體配置能夠在公*號(Crossin的編程教室)裏回覆關鍵字 pycharm

而 Anaconda 默認附帶的另外一個開發工具 Jupyter,也是很是值得推薦的。你能夠從 Navigator 裏運行,或者在命令行執行命令:

jupyter notebook

它是一個基於瀏覽器的交互式開發工具。跟 Python 自帶的交互環境相比,它的自動完成和提示功能都強大許多,而且你不用再糾結不能在交互環境裏寫多行代碼的問題。

這種代碼分塊,能夠邊開發邊執行的模式,很是適合編寫爬蟲、數據處理、數據分析等數據科學類的程序。我以前的不少案例都是使用它來開發,大家看到項目代碼中的.ipynb 文件就是能夠導入 Jupyter 的文件。另外它還有個好處,就是能夠部署在本身的服務器上使用(固然這也有安全風險),這樣只要有網絡,你就能隨時隨地寫 Python 了。

不論是 Anaconda 仍是 Jupyter,以及以前推薦屢次的 PyCharm,到底好很差用,是否是適合你,本身試過了才知道。花點時間裝起來用一下,而後歡迎你回來報告使用體驗。


════

其餘文章及回答:

如何自學Python | 新手引導 | 精選Python問答 | Python單詞表 | 人工智能 | 爬蟲 | 我用Python | requests | 計算機視覺 | 字符播放器 | 一圖學Python

歡迎搜索及關注公*號:Crossin的編程教室

相關文章
相關標籤/搜索