Python獨立環境安裝
如果大量的項目全部混雜在一個環境下,程序很可能會在預想不到的地方停止運行,而且不利於把握當前環境的具體狀態。為了防止這種情況發生,可以考慮搭建簡單的獨立環境。
創建獨立環境的方法一般有兩種:
1.conda
2.virtualenv
1.canda
Anaconda 能讓你在數據科學的工作中輕松安裝經常使用的程序包。還將使用它創建虛擬環境,以便更輕松地處理多個項目。Anaconda 簡化了工作流程,並且解決了多個包和 Python 版本之間遇到的大量問題。
Anaconda 實際上是一個軟件發行版,它附帶了 ** conda ** 、Python 和 150 多個科學包及其依賴項。應用程序 conda 是包和環境管理器。Anaconda 的下載文件比較大(約 500 MB),因為它附帶了 Python 中最常用的數據科學包。如果只需要某些包,或者需要節省帶寬或存儲空間,也可以使用 Miniconda 這個較小的發行版(僅包含 conda 和 Python)。但你仍可以使用 conda 來安裝任何可用的包,它只是自身沒有附帶這些包而已。
(1)創建環境
可以使用 conda 創建環境以隔離項目。要創建環境,請在終端中使用** conda create -n env_name list of packages ** 。在這里,-n env_name 設置環境的名稱(-n 是指名稱),而 list of packages 是要安裝在環境中的包的列表。例如,要創建名為 my_env 的環境並在其中安裝 numpy,請鍵入 conda create -n my_env numpy。
創建環境時,可以指定要安裝在環境中的 Python 版本。這在你同時使用 Python 2.x 和 Python 3.x 中的代碼時很有用。要創建具有特定 Python 版本的環境,請鍵入類似於 conda create -n py3 python=3 或 conda create -n py2 python=2 的命令。實際上,我在我的個人計算機上創建了這兩個環境。我將它們用作與任何特定項目均無關的通用環境,以處理普通的工作(可輕松使用每個 Python 版本)。這些命令將分別安裝 Python 3 和 Python 2 的最新版本。要安裝特定版本(例如 Python 3.3),請使用 conda create -n py python=3.3。

使用conda創建環境的優點在於對版本有很好的靈活性,因為環境都是從網上download下來,所以對網絡有些要求。不開vpn的話,我的網絡無法支持創建成功。
(2)進入環境
創建了環境后,在 OSX/Linux 上使用 source activate my_env 進入環境。在 Windows 上,請使用 activate my_env。
進入環境后,你會在終端提示符中看到環境名稱,它類似於 (my_env) ~ $。環境中只安裝了幾個默認的包,以及你在創建它時安裝的包。你可以使用 conda list 檢查這一點。在環境中安裝包的命令與前面一樣:conda install package_name。不過,這次你安裝的特定包僅在你進入環境后才可用。要離開環境,請鍵入 source deactivate(在 OSX/Linux 上)。在 Windows 上,請使用 deactivate。
注意:在win10里的powershell里無法使用activate和deactivate,只能在cmd環境使用activate和deactivate
(3)保存和加載環境
共享環境這項功能確實很有用,它能讓其他人安裝你的代碼中使用的所有包,並確保這些包的版本正確。可以使用 conda env export > environment.yaml 將包保存為 YAML。命令的第一部分 conda env export 用於輸出環境中的所有包的名稱(包括 Python 版本)。

上圖中,你可以看到環境的名稱和所有依賴項及其版本。導出命令的第二部分 > environment.yaml 將導出的文本寫入到 YAML 文件 environment.yaml 中。現在可以共享此文件,而且其他人能夠用於創建和你項目相同的環境。
要通過環境文件創建環境,請使用 conda env create -f environment.yaml。這會創建一個新環境,而且它具有同樣的在 environment.yaml 中列出的庫。
(4)列出環境
如果忘記了環境的名稱(我有時會這樣),可以使用 conda env list 列出你創建的所有環境。你會看到環境的列表,而且你當前所在環境的旁邊會有一個星號。默認的環境(即當你不在選定環境中時使用的環境)名為 root。

(5)刪除環境
如果你不再使用某些環境,可以使用 conda env remove -n env_name 刪除指定的環境(在這里名為 env_name)。
2.virtualenv
(1) 安裝virtualenv
pip install virtualenv

(2) virtualenv創建環境
virtualenv env_name
使用virtualenv創建環境后,自動執行新創建環境下的activate.bat,激活新創建的環境。在新創建的環境下有activate和deactivate批處理程序,分別用於激活環境和關閉環境。

(3) 安裝virtualenvwrapper
使用virtualenv創建的環境,在使用時不是很方便,需要使用批處理程序激活。鑒於此,可以結合virtualenvwrapper工具來方便管理環境。
在Linux里安裝
sudo pip install virtualenvwrapper
在windows安裝
pip install virtualenvwrapper-win
(4) virtualenvwrapper創建環境
mkvirtualenv env_name //創建環境
workon env_name //激活環境
deactivate //關閉環境
rmvirtualenv //刪除環境
常用命令:
mkvirtualenv
usage:
mkvirtualenv [-a project_path]
[-i package]
[-r requirements_file]
[virtualenv options] env_name
workon:
workon env_name
Deactivate any currently activated virtualenv
and activate the named environment, triggering
any hooks in the process.
workon == lsvirtualenv
Print a list of available environments.
(See also lsvirtualenv -b)
workon (-h|--help)
Show this help message.
workon (-c|--cd) envname
After activating the environment, cd to the associated
project directory if it is set.
workon (-n|--no-cd) envname
After activating the environment, do not cd to the
associated project directory.
