1.Anaconda是什麼?
Anaconda在英文中是“蟒蛇”,麻辣雞(Nicki Minaj妮琪·米娜)有首歌就叫《Anaconda》
anaconda
,表示像蟒蛇一樣性感妖嬈的身體。
這裏,Anaconda指的是一個開源的Python發行版本,其包含了conda、Python等180多個科學包及其依賴項。 因爲包含了大量的科學包,Anaconda 的下載文件比較大(約 500 MB),如果只需要某些包,或者需要節省帶寬或存儲空間,也可以使用Miniconda這個較小的發行版(僅包含conda和 Python)。
Anaconda的圖標
loggo
就像一個收尾互相咬住的“蟒蛇”。
你可能已經安裝了 Python,那麼爲什麼還需要 Anaconda?有以下3個原因:
- Anaconda 附帶了一大批常用數據科學包,它附帶了 conda、Python 和 150 多個科學包及其依賴項。因此你可以立即開始處理數據。
- 管理包。
Anaconda 是在 conda(一個包管理器和環境管理器)上發展出來的。
在數據分析中,你會用到很多第三方的包,而conda(包管理器)可以很好的幫助你在計算機上安裝和管理這些包,包括安裝、卸載和更新包。 - 管理環境。
比如你在A項目中用了 Python 2,而另一個項目B卻要求使用Python 3,而同時安裝兩個Python版本可能會造成許多混亂和錯誤。這時候 conda就可以幫助你爲不同的項目建立不同的運行環境。
還有很多項目使用的包版本不同,比如不同的pandas版本,不可能同時安裝兩個 Numpy 版本,你要做的應該是,爲每個 Numpy 版本創建一個環境,然後項目的對應環境中工作。這時候conda就可以幫你做到。
2.安裝Anaconda
Anaconda 可用於多個平臺( Windows、Mac OS X 和 Linux)。你可以在Anaconda官網上找到安裝程序和安裝說明。根據你的操作系統是32位還是64位選擇對應的版本下載。
實際上,你選擇對應python2或python3的哪一個版本是無所謂的,它只代表安裝後缺省的python版本,因爲你可以創建不同版本的環境,並可隨時切換。
安裝過程中,建議不選在將Anaconda目錄加入到PATH環境變量中,以免與單獨安裝的Python路徑產生衝突。執行conda命令時,可打開Anaconda Prompt,這是Anaconda自帶的終端,啓動時會設置必要的環境變量,令你可運行conda命令。若汝用普通的windows cmd命令,則可能會出現找不到命令的提示。
安裝Anaconda後,需更新所有包,以防因爲某些包的版本比較老舊,產生版本依賴關係錯誤。 在終端輸入更新所有包的命令:conda upgrade --all
,並在提示是否更新時輸入y(Yes)
讓更新繼續。
conda命令從conda cloud下載更新包,由於在境外,下載速度比較慢,甚至會由於衆所周知的原因,無法下載,報錯:CondaHTTPError: HTTP 000 CONNECTION FAILED
之類的網絡錯誤,可以用下面的方法解決:
在終端中運行如下命令:
conda config --add channels mirrors.tuna.tsinghua.edu.cn/anaconda/pkgs/free/
conda config --set show_channel_urls yes
添加清華大學的鏡像服務器。
如果用命令行添加不上,可以在用戶目錄找到.condarcw文件。這個配置文件在 ~/.condarc (Linux/Mac) 或 C:\Users\當前用戶名.condarc (Windows):
channels:
- https://mirrors.tuna.tsinghua.edu.cn/anaconda/pkgs/free/
- defaults
show_channel_urls: true
如果使用conda安裝包的時候還是很慢,那麼可以考慮使用pip來安裝,同樣把 pip 的鏡像源地址也改成國內的,豆瓣源速度比較快。修改 ~/.pip/pip.conf (Linux/Mac) 或 C:\Users\當前用戶名\pip\pip.ini (Windows) 配置:
[global]
trusted-host = pypi.douban.com
index-url = http://pypi.douban.com/simple
3.管理包
安裝Anaconda後,就可以用conda命令方便的管理包了。
3.1 安裝包
命令:
conda install package_name
例如:安裝pandas,輸入
condda install pandas
安裝多個包,如同時安裝pandas、numpy包:
conda install pandas numpy
指定包的版本號:
conda install numpy=1.10
conda會自動安裝依賴項,如scipy包依賴於numpy包,那麼
conda install scipy
會自動安裝numpy包,如果還未安裝的話。
3.2 卸載包
命令:conda remove package_name
例如,卸載padas包:conda remove pandas
3.3 更新包
命令:
conda update package_name
更新所有的包,加--all
選項:conda update -all
3.4 列出所有的包
命令:conda list
3.5 搜索包
命令:conda search search_term
例如,想檢查一下numpy包是否已經安裝,可使用conda search num
模糊查找列表中是否包含numpy包。
在conda中,anything is a package。conda本身可以看做是一個包,python環境也可以看做是一個包,anaconda也是一個包,因此除了普通的第三方包支持更新之外,這三個包也支持更新。
# 更新conda本身
conda update conda
# 更新anaconda應用
conda update anaconda
#更新python,假設當前python環境版本是3.6.3,而最新版本是3.6.3,那麼就會升級到3.6.3。
conda update python
4.管理環境
conda可以爲不同的項目創建不同的環境。
4.1 創建環境
命令:conda create --name env_name packages_name
--name
選項可簡化爲-n
,指出要創建的環境名稱,並可以在創建環境時安裝包。
例如:conda create -n py3 pandas
創建了名稱爲py3的環境,並安裝pandas包。
創建環境的時候,可以指定python的版本:conda create -n py3 python=3
環境py3中會安裝最新版本的python3。conda create -n py3 python=3.6
指定使用3.6版本的python。
4.2 激活環境
windows中使用activate env_name
命令,OS/X和linux中使用source activate env_name
命令激活環境。
例如:activate py3
進入py3環境後可使用conda list
命令查看py3
環境中已經安裝的包。在新的環境中,可使用conda install package_name
命令繼續安裝其他需要的包。
4.3 離開環境
命令:deactivate
(windows適用)或source deactivate
(OS/X或Linux適用)。
4.4 共享環境
如果你想向他人共享你自己創建的環境,以供其他項目用你項目的配置,主要是保持包的版本一致。就可以使用conda env export > enviroment.yml
命令將源環境的包的配置數據保存到enviroment.yml
文件中,其他項目就可以在目標環境中,執行命令conda env update -f path/to/enviroment.yml
將目標環境更新爲與源環境完全一樣。
對於不使用conda的情況下,python的pip命令也是可以做到這一點的:
pip freeze > enviroment.txt #將環境配置導出到enviroment.txt文本文件中。
pip install -r /path/to/enviroment.txt #恢復環境
4.5 列出環境
命令:conda env list
列出所有的環境,當前激活的環境對應的目錄前會顯示一個*號。
4.6 刪除環境
命令:conda env remove -n env_name