使用pipreqs形成Python项目级的requirements.txt

问题

当我们使用

pip freeze > requirements.txt

语句时,会把当前Python环境所有安装的包都写入到requirements文件中。

事实上,对于单独的一些Python项目,我们仅仅需要项目级别所需的包。如果在Linux系统中,我们可以通过带sed的pip freeze命令完成这个工作,比如:

pip freeze > requirements.txt
pip freeze -r requirements.txt
pip freeze -q -r requirements.txt | sed '/freeze/,$ d' > requirements-froze.txt

但使用起来终究是很麻烦的。

解决办法

使用pipreqs,能很好地解决这个问题。安装命令如下:

pip install pipreqs

按照参考资料里提及的方式,在当前Python项目目录下运行pipreqs > requirements.txt命令,则可将当前Python项目下的依赖包写入到requirements.txt中。

然而,在Windows平台上,我遇到这样的问题,执行pipreqs > requirements.txt命令后,产生的文本文件却是空的。

于是,我采用指定目录的方式执行:

pipreqs "./"

经过一定时间的处理,pipreqs识别出存在的依赖,并写入到requirements.txt文件中:

经测试可正常安装,如需考虑编码问题,比如说需要强行制定utf-8编码,可以使用如下命令:

pipreqs --encoding utf-8 "./"

参考资料:

https://stackoverflow.com/questions/32390291/pip-freeze-for-only-project-requirements

  • 6
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

Humbunklung

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值