使用conda和pip批量安装Python包
在debug Yolov5之前,需要按照其txt文件中指定的包的版本来指定安装工程需要的Python包,截图如下:
(这里面的torch慎装,因为这种方式装的pytorch不吃吃GPU,如果某个包不想安装,只要在该行前面输入注释符就行)
1. conda方式批量安装
进入(cd)到txt文件所在文件夹路径下,运行以下命令:
$ conda install --file=requirements_conda.txt
2. 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
总结
以上为个人经验,希望能给大家一个参考,也希望大家多多支持编程网。