Python:conda install 和pip install的區別

orion 發表於 2022-05-13

pip是個安裝包的軟體,conda是個環境管理的工具。conda能夠安裝多個python直譯器,pip不行。因此conda在實際開發中是主要用來隔離不同的python版本和Tensorflow&Pytorch的環境(env)的。

一般Python可分為系統自帶的和在conda中安裝的。我們可以用下列命令檢視本機上所有可用的Python環境:

(base) [email protected] /usr % python -m site
sys.path = [
    '/usr',
    '/Users/orion-orion/miniforge3/lib/python39.zip',
    '/Users/orion-orion/miniforge3/lib/python3.9',
    '/Users/orion-orion/miniforge3/lib/python3.9/lib-dynload',
    '/Users/orion-orion/miniforge3/lib/python3.9/site-packages',
]
USER_BASE: '/Users/orion-orion/.local' (exists)
USER_SITE: '/Users/orion-orion/.local/lib/python3.9/site-packages' (doesn't exist)
ENABLE_USER_SITE: True

然後我們再說兩種方式:

conda install xxx:這種方式安裝的庫都會放在/Users/orion-orion/miniforge3/pkgs目錄下。這樣的好處是,當在某個環境下已經下載好了某個庫,再在另一個環境中還需要這個庫時,就可以直接從pkgs目錄下將該庫複製至新環境而不用重複下載。

pip install xxx:這是就要兩種情況,一種情況就是此時使用的是conda中安裝的python,那麼xxx會被安裝到/Users/orion-orion/miniforge3/lib/python3.9/site-packages資料夾中;如果當前用的是系統的python,那麼xxx會通常會被安裝到/Users/orion-orion/.local/lib/python3.9/site-packages資料夾中

下面我們來看下conda中的python環境。我們可以用命令conda info --env來檢視當前的所有conda環境:

(base) [email protected] miniforge3 % conda info --env
# conda environments:
#
base                  *  /Users/orion-orion/miniforge3

這裡我們只有初始的base環境,即/Users/orion-orion/miniforge3目錄,此環境中Python的安裝目錄為:

/Users/orion-orion/miniforge3/lib/python3.9

而該Python版本對應的包的目錄為:

/Users/orion-orion/miniforge3/lib/python3.9/site-packages

可以看到,這個目錄下即我們所安裝的Python包:

(base) [email protected] site-packages % ls |grep torch
torch
torch-1.8.0.dist-info
torch_tb_profiler
torch_tb_profiler-0.3.1.dist-info
torchtext
torchtext-0.6.0.dist-info
torchvision
torchvision-0.9.0a0.dist-info

參考

相關文章