Python虛擬環(huán)境工具Conda

一、簡介

Conda是目前為止,最流行的Python軟件包與管理環(huán)境。Conda分為?miniconda?與?anaconda兩種。前者從名字上就能猜出是精簡版,后者預裝了很多常用的功能,但比較臃腫。實際工程中,一般都使用?miniconda,按需安裝軟件包,本文的下面篇幅也以?miniconda?為例進行說明。

與pip、virtualenv區(qū)別:

1,pip是python下的包管理工具,主要用于從pypi下載所需的python包,但是pip不會自動處理包之間的依賴關系;在使用pip安裝包時,可以修改安裝源為https://pypi.tuna.tsinghua.edu.cn/simple/,可以提升安裝速度。

2,virtualenv是一個環(huán)境管理工具,使用virtualenv可以創(chuàng)建一個完全隔離的環(huán)境,但virtualenv只能創(chuàng)建基于本機已存在的python版本的虛擬環(huán)境;使用virtualenv創(chuàng)建完成環(huán)境以后,可以使用pip安裝python包,也可以使用conda安裝python包。

3,conda結合了pip和virtualenv兩者的功能,使用conda可以創(chuàng)建任意python版本的虛擬隔離環(huán)境,而且conda還是一個包管理工具,不但可以安裝python包,而且可以安裝其他語言的包,更重要的是conda具有完美的包依賴關系處理能力,可以輕松的安裝所需的包而不用過分的去手動處理各種包之間的依賴關系;在使用conda安裝包時,可以修改安裝源為https://mirrors.tuna.tsinghua.edu.cn/anaconda/pkgs/main/

二、Conda安裝

1,首先利用wget下載安裝腳本文件:

wget?https://repo.continuum.io/miniconda/Miniconda3-latest-Linux-x86_64.sh

2,利用chmod命令修改sh文件為可執(zhí)行文件,然后運行安裝腳本:

chmod?755?Miniconda3-latest-Linux-x86_64.sh

bash?./Miniconda3-latest-Linux-x86_64.sh

安裝時,根據提示選擇默認就行。

三、Conda常用命令

1,包管理

與python -m pip list類似,conda可以列出當前環(huán)境下的所有包:

conda?list

2,版本與升級

conda有一套特別的機制,用于管理和維護依賴庫之間的關系。在不同版本的conda中,我們可以直接使用的Python與依賴庫的版本都不同,為了確定當前使用的conda版本,可以運行以下命令:

conda?--version

有時,我們想用的某個庫在conda中有問題,或者默認模塊安裝的版本比較舊,可以先嘗試升級解決:

conda?update?conda

3,環(huán)境管理

conda環(huán)境中的虛擬環(huán)境比起原生Python更為強大,可以指定Python的版本,并自動安裝相關的C++依賴庫(Windows下自動下載相關的c++ runtime)。

conda?create?-n?env_demo? #建立虛擬環(huán)境

conda?create???python=3.6??-p?/tmp/test??? #Conda就為你生成了一個在/tmp/下叫test的虛擬環(huán)境,并且環(huán)境里的python版本是3.6

ls?/tmp/test? #可以查看該路徑下內容

4,激活

conda?activate?/tmp/test? #/tmp/test是虛擬環(huán)境的路徑,激活后可以用which python確認是否成功。如果成功,當前python應該指向的是/tmp/test/bin/python

5,安裝依賴

激活一個Conda的虛擬環(huán)境后,安裝依賴主要用以下命令:

conda?install?xxx

查看配置

conda?config?--show

注意:Conda不僅僅可以用conda install安裝軟件,同時也可以繼續(xù)用pip,就和普通Python環(huán)境下操作沒太有什么區(qū)別

四、Conda環(huán)境導出與恢復

conda?env?export?>?env.yml??? #Conda支持直接導出環(huán)境命令

conda?env?create?-n?revtest?-f=/tmp/env.yml ? #恢復環(huán)境命令

?著作權歸作者所有,轉載或內容合作請聯(lián)系作者
【社區(qū)內容提示】社區(qū)部分內容疑似由AI輔助生成,瀏覽時請結合常識與多方信息審慎甄別。
平臺聲明:文章內容(如有圖片或視頻亦包括在內)由作者上傳并發(fā)布,文章內容僅代表作者本人觀點,簡書系信息發(fā)布平臺,僅提供信息存儲服務。

相關閱讀更多精彩內容

友情鏈接更多精彩內容