創建conda環境
激活環境
安裝依賴
固化依賴
刪除環境
在pycharm中使用該環境
TensorFlow
pytorch
Conda 是一個開源的軟體包管理系統和環境管理系統,用於安裝多個版本的軟體包及其依賴關係,並在它們之間輕鬆切換。Conda 是為 Python 程序創建的,適用於 Linux,OS X 和Windows,也可以打包和分發其他軟體。
再簡單點說就是一個預裝了一些「常用」的軟體包的環境管理工具,在所有系統上都可以用。
什麼是環境和虛擬環境?為什麼要使用conda?環境就是代碼運行的一些基礎背景,例如說作業系統的版本、驅動的版本、依賴包的版本等等,但凡可能影響代碼運行的因素都可以成為環境(aka玄學)。環境管理是一件非常麻煩的事情,在復現或者遷移代碼時,要儘可能保證代碼運行在相同的環境中(否則可能跑不通或者出現不同的結果)。
如果使用python官網安裝的python解釋器,那就只有一個默認的環境,在這個環境下某個包只能有一個版本。如果需要同時使用tensorflow 1.13和1.14版本,就無法實現。因此虛擬環境應運而生。虛擬環境就是創建不同的python解釋器,環境之間依賴是獨立的。
conda有環境管理的功能,通過conda可以方便地切換環境,安裝不同的包和他對應的驅動等,尤其是安裝cuda和cudnn這兩個深度學習必須的依賴。
安裝可以在 Anaconda 找到對應系統的安裝包。以Windows系統為例,提供了.exe的安裝器,下載後雙擊安裝,一路下一步即可。在Linux和MacOS下均有對應的安裝器,根據架構和版本下載,按照提示安裝即可。
在Windows環境下,在開始菜單中找到Anaconda Prompt (Anaconda 3),打開後出現命令行,如
(base) C:\Users\some_username>輸入conda —version能顯示conda當前的版本即為安裝成功。以下演示均為Windows環境,其他環境的命令行與Windows的類似,不再贅述。
在linux或其他命令行環境下,輸入conda不提示命令不存在或輸入conda —version能顯示當前版本即為安裝成功。
基本使用創建conda環境前面說到,環境管理是conda的一個核心功能,在使用中,一般一個項目對應使用一個環境。在創建項目前,先創建一個環境。
conda create -n project_name_and_stuff python=3.7這條命令的意思是創建一個名為project_name_and_stuff的環境,其python版本為3.7。
對於項目名稱的命名,建議採用項目名稱+深度學習框架及版本+CPU/GPU環境+其他需要說明的版本的形式,例如DIGIX_tf1_gpu表示該項目名稱為DIGIX,使用TensorFlow1版本,使用GPU環境。若不需要深度學習環境,則只採用項目名稱即可。python版本建議選擇當前穩定的版本或適配環境中其他依賴的版本。
激活環境環境創建完成後,可以根據項目的需要安裝響應的依賴。首先需要激活環境。
conda activate demo-project輸入後,命令行會變成如下
(demo-project) C:\Users\some_username>此時已經進入了demo_project的環境,可以開始安裝對應的依賴了。
若要退出該環境,輸入
conda deactivate
安裝依賴有兩種安裝方式,先介紹conda特有的conda install,另外還有原來的pip方式也可以用於安裝依賴。
conda install以requests庫為例,只需要輸入
conda install requests若要安裝指定版本的某個包,可以使用
conda install package=version其中package為包名,version為其版本號。連續輸入多個包名和對應的版本號可以一次性安裝多個包。可以使用的版本可以使用以下命令查詢。
conda search package
pip就是正常的包安裝過程,輸入
pip install package==version注意這裡版本前面是==而不是前面的=。連續輸入多個包名和對應的版本號可以一次性安裝多個包。
固化依賴建議在安裝好所有需要的依賴後,將目前依賴版本導出,方便復現或遷移項目時,能快速恢復環境。
conda方式通過以下命令可以快速導出當前環境中所有依賴。
conda env export > environment.yml到了新環境中,使用以下命令即可恢復。
conda env create -f environment.yml
pip方式通過以下命令可以快速導出當前環境中所有依賴。
pip freeze > requirements.txt到了新環境中,使用以下命令即可恢復。
pip install -r requirements.txt
刪除環境conda remove -n demo-project --all
在pycharm中使用該環境在打開項目之後,在右下角點擊環境這部分,選擇Interpreter Settings...,進入項目環境,點擊Show All。
點擊+,找到Conda Environment,然後選擇Existing Environment,在Interpreter中找到剛才新建的環境的python.exe即可。一般來說,路徑在你的用戶目錄下的Anaconda3\envs下。最後點擊ok即可。
然後選擇剛添加的環境,點ok即可。
安裝深度學習環境TensorFlow可以參考這篇文章。https://docs.anaconda.com/anaconda/user-guide/tasks/tensorflow/
Conda可以為深度學習環境提供對應的cuda和cudnn版本,只需要在安裝的時候指定cudatoolkit版本即可。
conda install tensorflow-gpu=1.14 cudatoolkit=10.0 // 1.x
conda install tensorflow=2.1.0 cudatoolkit=10.1 // 2.x其中,cudatoolkit的版本請查閱https://www.tensorflow.org/install/source#linux。
pytorch可以參考 https://pytorch.org/get-started/locally/
安裝方式比較簡單。
conda install pytorch torchvision torchaudio cudatoolkit=10.2 -c pytorch
拓展閱讀conda的安裝與使用(2021-04-27更新)https://www.jianshu.com/p/edaa744ea47d
conda Command Reference https://docs.conda.io/projects/conda/en/latest/commands.html
Cheatsheet清理空間
conda clean -p // 刪除沒用的包
conda clean --all // 刪除所有緩存升級conda
conda update conda
conda update anaconda列出所有環境
conda env list
conda info --envs重命名環境
conda create --name newname --clone oldname //克隆環境
conda remove --name oldname --all //徹底刪除舊環境