conda進行python環境隔離


1、環境隔離的問題

在使用python時,常常遇到的問題:

pip安裝庫A,依賴庫B-2.1版本

pip安裝庫C,以來庫B-3.1版本,安裝會提示庫B的版本沖突錯誤。

 

這種情況下就需要做環境隔離

conda自帶環境隔離功能,可以有限隔離管理多個python環境

 

2、安裝conda

https://www.anaconda.com/distribution/下載anaconda, 我這里下載的是Anaconda3-2019.07-Linux-x86_64.sh

轉到下載目錄下, 執行命令安裝anaconda:

bash Anaconda3-2019.07-Linux-x86_64.sh

根據提示安裝,特別是最后的conda init詢問,直接點yes

 

3、備份conda原始環境

conda安裝完成后,重新打開shell,或者執行一次source ~/.bashrc后, 會默認進入base環境,base環境包括了anaconda默認安裝的大量庫。

由於后續可能會基於base環境安裝各種附加庫,所以,一般先進行base環境的備份,方式就是創建一個新的backup環境,直接從base環境中克隆

創建backup環境的命令如下:

conda create -n backup --clone base

上述指令表示從base環境中clone一份新環境,新環境名字為backup

 

4、創建項目環境

備份之后,就可以基於backup環境,克隆各種項目環境了

比如,我需要創建一個用於富途量化開發的環境:

conda create -n futu --clone backup

在該環境下,我需要安裝futu-api:

pip insall futu-api

那么futu-api庫只有在該環境中才有,在base、backup中都不存在。

 

如果覺得base環境過於臃腫,可以創建一個新的簡潔環境, conda可以管理多個python,即使python的版本不一樣,這個是比venv強大的地方。

創建一個python3.7的簡潔環境:

conda create -n py32 python=3.7

 

創建一個python2.7的簡潔環境:

conda create -n py27 python=2.7

 

注意:創建環境時,如果只是指定了名字,沒有指定package,那么實際上指向的都是同一個環境

如:

conda create -n test1
conda create -n test2

上述的test1和test2環境中,隔離的只是conda install的內容,而pip安裝的內容完全共享,會相互干擾,這是因為使用了同一套python環境的緣故, 所以一般不要這么做。

 

5、環境切換

通過conda activate <envname>進行環境切換

通過conda deactivate退出環境

 

如,進入futu環境:

conda activate  futu

進入環境后,命令行中會提示相應的環境標志:

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM