一键查询依赖生成文件 requirements.txt

举报
ReturnTmp 发表于 2023/08/30 09:24:37 2023/08/30
【摘要】 前言我们在自己开发 Python 项目过程中(没有使用虚拟环境),最后做完项目再整理 requirements.txt 都是很麻烦的事。或者是从网上克隆的别人的项目,但是却没有 requirements.txt ,需要自己手动单独安装依赖,都是很痛苦的一件事。下面我将要介绍一种 python 工具 pipreqs,实现速查询项目依赖并生成 requirements.txt官网:bndr/p...

前言

我们在自己开发 Python 项目过程中(没有使用虚拟环境),最后做完项目再整理 requirements.txt 都是很麻烦的事。或者是从网上克隆的别人的项目,但是却没有 requirements.txt ,需要自己手动单独安装依赖,都是很痛苦的一件事。

下面我将要介绍一种 python 工具 pipreqs,实现速查询项目依赖并生成 requirements.txt

官网:bndr/pipreqs: pipreqs

安装使用

# 安装
pip install pipreqs
# 使用(Linux)
pipreqs ./
# 使用(Windows)
pipreqs ./ --encoding=utf-8 
# 成功生成文件 ./requirements.txt
# 无版本模式
pipreqs --mode no-pin --force ./ 

补充

pip freeze

# 生成依赖文件
pip freeze > requirements.txt
# 一键安装依赖
pip install -r requirements.txt

pip freeze 只会保存使用 pip install 安装在环境中的软件包。

pip freeze 会保存环境中的所有软件包,包括当前项目中未使用的软件包(如果没有使用虚拟环境)。

conda

conda 安装 requirement.txt 依赖

可以使用如下命令使用 conda 安装 requirement.txt 依赖

conda install --yes --file 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

注意:上面两段代码都是 linux shell 语法,windows 需要替换为其他语法

conda 导出虚拟环境并重新导入

如果是使用 conda 创建的虚拟环境,也可以使用 freeze.yml 文件导出虚拟环境

conda env export > freeze.yml

创建刚才导出的虚拟环境

conda env create -f freeze.yml

参考文章

https://zhuanlan.zhihu.com/p/385402838

https://blog.51cto.com/huifeng/5194862

https://blog.csdn.net/Mao_Jonah/article/details/89502380

https://stackoverflow.com/questions/35802939/install-only-available-packages-using-conda-install-yes-file-requirements-t

【版权声明】本文为华为云社区用户原创内容,转载时必须标注文章的来源(华为云社区)、文章链接、文章作者等基本信息, 否则作者和本社区有权追究责任。如果您发现本社区中有涉嫌抄袭的内容,欢迎发送邮件进行举报,并提供相关证据,一经查实,本社区将立刻删除涉嫌侵权内容,举报邮箱: cloudbbs@huaweicloud.com
  • 点赞
  • 收藏
  • 关注作者

评论(0

0/1000
抱歉,系统识别当前为高风险访问,暂不支持该操作

全部回复

上滑加载中

设置昵称

在此一键设置昵称,即可参与社区互动!

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。