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
代码语言:javascript复制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
代码语言:javascript复制conda update conda
镜像服务器
代码语言:javascript复制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
环境管理
查看所有环境
代码语言:javascript复制conda env list
新建环境
代码语言:javascript复制conda create --name [name] python_or_others
ps: conda create --name FastAPI python=3.9.12
进入环境
代码语言:javascript复制conda activate env_name
退出环境
代码语言:javascript复制conda deactivate
删除环境
代码语言:javascript复制conda remove -n env_name --all
复制环境
代码语言:javascript复制conda create --clone ENVNAME --name NEWENV
package管理
列出 package
代码语言:javascript复制conda list
列出指定环境中的所有软件包
代码语言:javascript复制conda list -n myenv
安装 package
代码语言:javascript复制pip install xxxx 或者 conda install xxxx
ps:pip install tensorflow
如果不用-n指定环境名称,则被安装在当前活跃环境,也可以通过-c指定通过某个channel安装
代码语言:javascript复制conda install (-n python34) numpy
更新 package
代码语言:javascript复制conda update (-n python34) numpy
卸载 package
代码语言:javascript复制conda remove/uninstall package_name
查找 package
信息
代码语言:javascript复制conda search (-n python34) numpy
更新目前环境所有 package
代码语言:javascript复制conda update --all
导出当前环境的 package
信息
代码语言:javascript复制conda env export > environment.yaml
清除缓存
删除索引缓存、锁定文件、未使用的缓存包和tarball(压缩包).
代码语言:javascript复制conda clean -a
环境的复制
- 注意:yaml的方式,很消耗资源,系统配置至少要2核4G以上,且yaml的
package
不能过多,否则会被killed
1、导出环境
代码语言:javascript复制conda env export > environment.yaml
文件内容示例
代码语言:javascript复制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、导入环境
代码语言:javascript复制conda env create -f environment.yaml
3、Clone环境
代码语言:javascript复制conda env update -n my_env --file ENV.yaml