anaconda虛擬環境管理,今後Python版本不用愁

1 引言

在前幾篇博文中介紹過 virtualenv、virtualenvwrapper等幾個虛擬環境管理工具,本篇要介紹的anaconda也有很強大的虛擬環境管理功能,甚至相比virtualenv、virtualenvwrapper等工具,更增強大。
Anaconda是專一於數據分析的Python發行版本,包含了conda、Python等190多個科學包及其依賴項。咱們本篇要介紹的anaconda虛擬環境管理就是使用其中的conda。conda是一款極爲特殊的環境管理工具,之因此說它特殊,conda的設計思想——conda將幾乎全部的工具、第三方包都當作package對待,甚至包括python和conda自身!所以,conda打破了包管理與環境管理的約束,能很是方便地安裝各類版本python、各類package並方便地切換。也就是說說,在進行虛擬環境管理時,conda能夠獨立於系統原有的Python版本而建立任意版本的Python解釋器,這是 virtualenv、virtualenvwrapper等工具所不具有的。

2 安裝

2.1 下載

本次安裝的版本是anaconda3。先進入一個用於存放下載文件的目錄,而後安裝anaconda:
$ cd /home/ubuntu/download
$ wget https://repo.anaconda.com/archive/Anaconda3-2018.12-Linux-x86_64.sh

2.2 安裝與配置

若是沒有意外,上述命令結束以後,在/home/ubuntu/download目錄下會下載成功一個名爲Anaconda3-2018.12-Linux-x86_64.sh的文件。
經過如下命令正式開始安裝:
$ bash Anaconda3-2018.12-Linux-x86_64.sh
在安裝過程當中,須要你容許使用協議,輸入yes便可:
Do you accept the license terms? [yes|no]
[no] >>>
Please answer 'yes' or 'no':'
>>> yes
而後輸入你但願將anaconda安裝到的目錄,例如將anaconda安裝到 /usr/bin/anaconda3:
[/home/ubuntu/anaconda3] >>> /usr/bin/anaconda3
固然,我此次安裝選擇的是默認的/home/ubuntu/anaconda3目錄中,因此直接回車便可。
輸入完成以後,系統將繼續完成安裝,知道出現以下輸出提示:
Do you wish the installer to initialize Anaconda3
in your /home/ubuntu/.bashrc ? [yes|no]
[no] >>>
這裏,你能夠輸出yes。意思是,將/home/ubuntu/anaconda3下的bin目錄添加到當前用戶的環境變量配置中。若是錯過了這一步配置或者輸入的是no,你將須要進行手動配置環境變量:
$ cd ~
$ vim .bashrc
而後在最後一行輸入如下內容:
# anaconda3的配置環境
export PATH="/home/ubuntu/anaconda3/bin:$PATH"
結束上面全部步驟以後,運行一下命令讓配置生效:
$ source .bashrc

2.3 驗證安裝結果

若是上面的全部步驟都沒有意外,順利完成的話,事實上anaconda就已經安裝成功了。咱們來驗證一下。
直接在命令行中輸入python,看看Python的版本:
$ python
Python 3.7.1 (default, Dec 14 2018, 19:28:38)
[GCC 7.3.0] :: Anaconda, Inc. on linux
Type "help", "copyright", "credits" or "license" for more information.
>>>
能夠看到,Python的版本已經與原來不同了。
查看conda版本,運行命令:
$ conda --version
conda 4.5.12
輸出安裝的anaconda的的conda的版本爲4.5.12。上述跡象代表,anaconda確實安裝成功。

3 環境管理

3.1 建立虛擬環境

conda create -n env_name python=version package_names
其中,參數-n是指接下來的參數指定虛擬環境名,與--name等效,因此python36即爲指定的將要建立的虛擬環境名。python=version是爲虛擬環境指定Python版本,指定版本後,conda會安裝該版本下最新的子版本,例如指定版本爲3.6時,conda將會安裝最新的3.6.x版本。package_names是要爲新的虛擬環境建立時就安裝的包,這裏也能夠不安裝其餘包,省略這一參數,在後續使用虛擬環境時安裝第三方包。
例:建立一個虛擬環境,Python版本爲3.6,虛擬環境名爲python36
conda create --name python36 python=3.6

3.2 查看虛擬環境

conda env list
運行後,結果以下:
# conda environments:
#
base * /home/chb/anaconda3
python36 /home/chb/anaconda3/envs/python36
上述結果列出了當前系統中全部conda建立的虛擬環境,即環境所在目錄。base是安裝anaconda時指定安裝的Python環境。型號(*)是指系統當前說仍是用的Python環境。

3.3 激活虛擬環境

conda activate env_name
例如:進入剛剛建立的虛擬環境python36
conda activate python36
若是進入到虛擬環境python36,以後的命令行擡頭都會有一個「(python36)」的字樣。

3.4 退出虛擬環境

退出虛擬環境時並不須要指定虛擬環境名,直接運行下行命令便可:
conda deactivate

3.5 共享虛擬環境

什麼是共享虛擬環境呢?當咱們在本機上開發了一套代碼,而後將代碼上傳到github或者發給項目組其餘人,這是別人可不知道咱們開發的代碼上面用到了哪些依賴,conda提供了方便得功能將虛擬環境中全部依賴包統一導出一個配置文件中,在別的機器上使用這套代碼時,根據conda導出的配置文件重建虛擬環境便可,這就是共享虛擬環境功能。在多人協做開發及開源的狀況下,共享虛擬環境無疑是一個很是實用的功能。
先來導出依賴到配置文件:
conda env export --file python36_env.yml
environment.yaml是導出依賴的目標文件,運行命令後,當前目錄下就回生成一個environment.yaml文件,包含了全部依賴信息。
根據配置文件建立虛擬環境:
conda env create -f /home/chb/code/python36_env.yml
運行上述命令後,在新機器上也會建立一個如出一轍的虛擬環境。
3.6 刪除虛擬環境
 conda remove -n python36 --all 
或者
conda env remove -n python36

4 包管理

4.1 安裝包

conda install package_name
或者
pip install package_name

4.2 列出全部包

conda list

4.3 更新包

conda update package_name
若是想要一次性更新全部包:
conda update --all

4.4 查找包

conda search keyword
例如:咱們要安裝pandas,可是忘了準確名稱,能夠這樣查找:
conda search pan

4.5 刪除包

conda remove package_name

5 總結

雖然相較於 virtualenv、virtualenvwrapper等工具,anaconda安裝要複雜一下,但無疑anaconda功能更增強大,能夠更加方便得進行包管理。
相關文章
相關標籤/搜索