如何使用conda和pip批量安装Python包

使用conda和pip批量安装Python包

在debug Yolov5之前,需要按照其txt文件中指定的包的版本来指定安装工程需要的Python包,截图如下:

如何使用conda和pip批量安装Python包_第1张图片

(这里面的torch慎装,因为这种方式装的pytorch不吃吃GPU,如果某个包不想安装,只要在该行前面输入注释符就行)

conda方式批量安装

进入(cd)到txt文件所在文件夹路径下,运行以下命令:

$ conda install --file=requirements_conda.txt

pip方式批量安装

pip install -r requirements_conda.txt

conda和pip总结

conda相关

基本命令

  • 查看conda相关信息:conda info
  • 显示所有的虚拟环境: conda info -e(–envs)
  • 激活环境:conda activate xxxx
  • 关闭环境:conda deactivate

创建、删除虚拟环境

  • 创建环境: conda create -n xxxx python=3.7 #创建python3.7的xxxx虚拟环境
  • 删除环境:conda remove -n xxxx --all //删除xxxx虚拟环境

复制、重命名环境

Conda是没有重命名环境的功能的, 要实现这个基本需求, 只能通过愚蠢的克隆-删除的过程,切记不要直接mv移动环境的文件夹来重命名, 会导致一系列无法想象的错误的发生!

  • 克隆oldname环境为newname环境: conda create --name newname --clone oldname
  • 彻底删除旧环境:conda remove --name oldname --all

注意:必须在base环境下进行以上操作,否则会出现各种莫名的问题。

安装、更新、卸载安装包

  • 查看已经安装的文件包: conda list
  • 指定查看xxx虚拟环境下安装的package: conda list -n xxx
  • 安装xxx文件包:conda install xxx
  • 更新xxx文件包:conda update xxx
  • 卸载xxx文件包:conda uninstall xxx

conda安装requirements中的包:

conda install --yes --file requirements.txt

但是这里存在一个问题,如果requirements.txt中的包不可用,则会抛出“无包错误”。使用下面这个命令可以解决这个问题

while read requirement; do conda install --yes $requirement; done < requirements.txt

如果想要在conda命令无效时使用pip命令来代替,那么使用如下命令:

while read requirement; do conda install --yes $requirement || pip install $requirement; done < requirements.txt

conda安装包清理(conda瘦身)

  • conda clean -H:查看conda clean使用参数
  • conda clean -p:删除一些没用的包,这个命令会检查哪些包没有在包缓存中被硬依赖到其他地方,并删除它们
  • conda clean -t:可以删除conda保存下来的tar包。
  • conda clean -a:删除索引缓存、锁定文件、未使用过的包和tar包。

conda自动开启/关闭激活

  • 关闭自动激活状态: conda config --set auto_activate_base false
  • 开启自动激活状态: conda config --set auto_activate_base true

conda批量导出、安装:

  • 可以导出到.yml文件:conda env export > freeze.yml
  • 然后直接创建conda环境:conda env create -f freeze.yml

解决conda install 下载速度慢,conda数据源管理

  • 查看配置信息:conda config --show
  • 显示目前conda的数据源有哪些: conda config --show channels

添加数据源:例如, 添加清华anaconda镜像:

conda config --add channels https://mirrors.tuna.tsinghua.edu.cn/anaconda/pkgs/main/
conda config --add channels https://mirrors.tuna.tsinghua.edu.cn/anaconda/pkgs/free/
conda config --add channels https://mirrors.tuna.tsinghua.edu.cn/anaconda/pkgs/r/
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/pytorch/
conda config --set show_channel_urls yes

然后运行conda clean -i清除索引缓存,保证用的是镜像站提供的索引

删除单个数据源:

conda config --remove channels https://mirrors.tuna.tsinghua.edu.cn/anaconda/pkgs/free/

恢复默认源:conda config --remove-key channels

pip相关

安装、更新、卸载包

  • 列出当前缓存的包:pip list
  • 安装xxx包: pip install xxx
  • 卸载xxx包: pip uninstall xxx
  • 展示指定的已安装的xxx包: pip show xxx
  • 检查xxx包的依赖是否合适:pip check xxx

pip数据源管理

  • 显示目前pip的数据源有哪些:pip config list
  • 临时使用数据源:pip install markdown -i https://pypi.tuna.tsinghua.edu.cn/simple

永久使用该数据源:

方法一:

pip config set global.index-url http://mirrors.aliyun.com/pypi/simple
pip config set global.trusted-host mirrors.aliyun.com

方法二:配置文件配置

vim ~/.pip/pip.conf

写入以下内容:

[global]
index-url = http://mirrors.aliyun.com/pypi/simple
trusted-host = mirrors.aliyun.com

记录一下pip国内源

  • 阿里云: https://mirrors.aliyun.com/pypi/simple/
  • 中国科技大学: https://pypi.mirrors.ustc.edu.cn/simple/
  • 豆瓣(douban):  https://pypi.douban.com/simple/
  • 清华大学:  https://pypi.tuna.tsinghua.edu.cn/simple/
  • 中国科学技术大学:  https://pypi.mirrors.ustc.edu.cn/simple/
  • 腾讯源: https://mirrors.cloud.tencent.com/pypi/simple

pip批量导出、安装:

  • 生成requirements.txt文件:pip freeze > requirements.txt
  • 安装requirements.txt文件依赖:pip install -r requirements.txt

总结

以上为个人经验,希望能给大家一个参考,也希望大家多多支持脚本之家。

你可能感兴趣的:(如何使用conda和pip批量安装Python包)