python的環境,你再也不用愁-conda
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:
- //mirrors.bfsu.edu.cn/anaconda/pkgs/main
- //mirrors.bfsu.edu.cn/anaconda/pkgs/r
- //mirrors.bfsu.edu.cn/anaconda/pkgs/msys2
custom_channels:
conda-forge: //mirrors.bfsu.edu.cn/anaconda/cloud
msys2: //mirrors.bfsu.edu.cn/anaconda/cloud
bioconda: //mirrors.bfsu.edu.cn/anaconda/cloud
menpo: //mirrors.bfsu.edu.cn/anaconda/cloud
pytorch: //mirrors.bfsu.edu.cn/anaconda/cloud
simpleitk: //mirrors.bfsu.edu.cn/anaconda/cloud
curl -L -o /tmp/miniconda.sh //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 //mirrors.tuna.tsinghua.edu.cn/anaconda/pkgs/free
conda config --add channels //mirrors.tuna.tsinghua.edu.cn/anaconda/cloud/conda-forge
conda config --add channels //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:
- //mirrors.tuna.tsinghua.edu.cn/anaconda/cloud/conda-forge
- //repo.anaconda.com/pkgs/main
- //mirrors.tuna.tsinghua.edu.cn/anaconda/pkgs/main/
- //mirrors.tuna.tsinghua.edu.cn/anaconda/pkgs/free/
- //mirrors.tuna.tsinghua.edu.cn/anaconda/cloud/pytorch/
- //mirrors.tuna.tsinghua.edu.cn/anaconda/cloud/menpo/
- //mirrors.tuna.tsinghua.edu.cn/anaconda/cloud/bioconda/
- //mirrors.tuna.tsinghua.edu.cn/anaconda/cloud/msys2/
- //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
