python的環境,你再也不用愁-conda

2022-09-09 15:00:47

Conda Guide


Conda簡介

conda是一個包,依賴和環境管理工具,適用於多種語言,如: Python, R, Scala, Java, Javascript, C/ C++, FORTRAN。

應用場景:比如在A伺服器開發了一個應用,安裝了N個包。現在要遷移到B伺服器,又要重新安裝一遍,還不知道A伺服器上哪些包是必須的。conda就是解決這種問題,把該應用需要的包都安裝到應用所在的環境中,遷移的時候,只要把環境匯出,再匯入到B環境即可。

Conda的安裝

安裝過程

windows的安裝就不演示了,直接在網上搜miniconda安裝包,然後一路點下一步即可安裝完成。

下邊講解linux下的安裝

建立condarc.mirror檔案

channels:
  - conda-forge
  - bioconda
  - defaults
show_channel_urls: true
default_channels:
  - https://mirrors.bfsu.edu.cn/anaconda/pkgs/main
  - https://mirrors.bfsu.edu.cn/anaconda/pkgs/r
  - https://mirrors.bfsu.edu.cn/anaconda/pkgs/msys2
custom_channels:
  conda-forge: https://mirrors.bfsu.edu.cn/anaconda/cloud
  msys2: https://mirrors.bfsu.edu.cn/anaconda/cloud
  bioconda: https://mirrors.bfsu.edu.cn/anaconda/cloud
  menpo: https://mirrors.bfsu.edu.cn/anaconda/cloud
  pytorch: https://mirrors.bfsu.edu.cn/anaconda/cloud
  simpleitk: https://mirrors.bfsu.edu.cn/anaconda/cloud
curl -L -o /tmp/miniconda.sh https://repo.anaconda.com/miniconda/Miniconda3-py39_4.11.0-Linux-x86_64.sh
/bin/bash /tmp/miniconda.sh -b -p /opt/conda
rm /tmp/miniconda.sh
conda clean -tipsy
find /opt/conda -follow -type f -name '*.a' -delete
find /opt/conda -follow -type f -name '*.pyc' -delete
conda clean -afy
cp ./condarc.mirror /root/.condarc

更新conda

conda update conda

映象伺服器

conda config --add channels https://mirrors.tuna.tsinghua.edu.cn/anaconda/pkgs/free
conda config --add channels https://mirrors.tuna.tsinghua.edu.cn/anaconda/cloud/conda-forge
conda config --add channels https://mirrors.tuna.tsinghua.edu.cn/anaconda/cloud/bioconda
conda config --set show_channel_urls yes
# 執行完上述命令後,會在Users目錄生成.condarc

環境管理

檢視所有環境

conda env list

新建環境

conda create --name [name] python_or_others
ps: conda create --name FastAPI python=3.9.12

進入環境

conda activate env_name

退出環境

conda deactivate

刪除環境

conda remove -n env_name --all

複製環境

conda create --clone ENVNAME --name NEWENV

package管理

列出package

conda list

列出指定環境中的所有軟體包

conda list -n myenv

安裝package

pip install xxxx 或者 conda install xxxx
ps:pip install tensorflow

如果不用-n指定環境名稱,則被安裝在當前活躍環境,也可以通過-c指定通過某個channel安裝

conda install (-n python34) numpy

更新package

conda update (-n python34) numpy

解除安裝package

conda remove/uninstall package_name

查詢package資訊

conda search (-n python34) numpy

更新目前環境所有package

conda update --all

匯出當前環境的package資訊

conda env export > environment.yaml

清除快取

刪除索引快取、鎖定檔案、未使用的快取包和tarball(壓縮包).

conda clean -a

環境的複製

  • 注意:yaml的方式,很消耗資源,系統設定至少要2核4G以上,且yaml的package不能過多,否則會被killed

1、匯出環境

conda env export > environment.yaml

檔案內容範例

name: kyle
 
channels:
  - https://mirrors.tuna.tsinghua.edu.cn/anaconda/cloud/conda-forge
  - https://repo.anaconda.com/pkgs/main
  - https://mirrors.tuna.tsinghua.edu.cn/anaconda/pkgs/main/
  - https://mirrors.tuna.tsinghua.edu.cn/anaconda/pkgs/free/
  - https://mirrors.tuna.tsinghua.edu.cn/anaconda/cloud/pytorch/
  - https://mirrors.tuna.tsinghua.edu.cn/anaconda/cloud/menpo/
  - https://mirrors.tuna.tsinghua.edu.cn/anaconda/cloud/bioconda/
  - https://mirrors.tuna.tsinghua.edu.cn/anaconda/cloud/msys2/
  - https://mirrors.tuna.tsinghua.edu.cn/anaconda/cloud/conda-forge/
  - defaults
 
dependencies:
  - _pytorch_select=0.2=gpu_0
  - pip:
    - opencv-python==4.1.2.30
 

2、匯入環境

conda env create -f environment.yaml

3、Clone環境

conda env update -n my_env --file ENV.yaml

您的關注,是我的創作動力!

公眾號 @生活處處有BUG