2016-12-01 249 views

回答

1

錯,也是對的。

即使在使用Anaconda時,也可以爲每個項目使用虛擬環境(conda env),這樣可以避免項目之間相互衝突的問題。例如,你正在使用的一個項目需要Python 2.7 + flask 0.9(不是Python 3兼容),而另一個項目需要Python 3.4 + flask 0.11。管理這些不同依賴關係的最簡單方法是通過conda虛擬環境。

請注意,conda envs的功能與標準虛擬環境類似,但確實有一些差異。你是對的,因爲你不再需要傳統的Python虛擬環境。您仍然需要爲每個項目設置一個新的環境,但現在這變成了conda env。

一個額外的好處是用虛擬環境是,你可以輕鬆地創建要求文件,該文件只包含該項目所需的軟件包:

conda env export > environment.yml 

如果你嘗試這樣做你的虛擬環境之外,那麼你將最終將您曾經安裝的每個軟件包放入您的environment.yml文件中。

http://conda.pydata.org/docs/using/envs.html

+0

的關鍵是,一旦你安裝了蟒蛇(不錯的選擇!),你的 「虛擬環境」 應該是暢達ENVS,*不*的 「tradtional」'virtualenv' /'venv' /'pyvenv '環境(所有在https://realpython.com/blog/python/python-virtual-environments-a-primer/中提到的東西) –

+0

感謝@MichaelGoerz提出這一點。我一直使用Anaconda的時間足夠長,所以我傾向於將conda env視爲「虛擬環境」。我會修改答案以使其更清楚。 –

+0

我必須這樣稱呼「python」:[abigail @ localhost anaconda3] $ bin/python ;否則,如果我直接輸入「tython」,它將使用/ usr/bin/python。如何避免這種情況? Anaconda在配置這個過程中的做法是什麼? – user697911

1

對於每個項目最好有獨立的環境。也許一個項目需要一些軟件包版本1.3和其他需求1.6。因此,爲每個項目建立一個環境,然後爲所有項目創建一個環境會容易得多。 如果你只有一個環境,每次你想編譯一個需要不同版本的項目時,你都必須更新更新(更改)包。

相關問題