有没有办法自动输出requirements.txt?

che*_*gpu 23 python pycharm python-3.x

我想requirements.txt在PyCharm中输出我的Python 3项目.有任何想法吗?

jsb*_*eno 15

尝试以下命令(由@jonsharpe评论):

pip freeze > requirements.txt
Run Code Online (Sandbox Code Playgroud)

  • 这并没有提供问题的答案.要对作者进行批评或要求澄清,请在帖子下方留言. (9认同)
  • 对不起 - 这个_does_提供了问题的答案.当然,它可以扩展 - 从评论中可以看出它不是理想的解决方案.但是在提示符中键入的这一行将"按需要自动输出requirements.txt". (6认同)
  • 为什么这个答案甚至被赞成?`pip freeze` 只是列出所有已安装的软件包,与项目的要求无关。为什么这个答案到处都是? (4认同)
  • 我认为作者要求在PyCharm中做到这一点.这个命令可行,但除非它可以在PyCharm上下文中使用,否则我认为它不会回答这个问题 (3认同)
  • 它不是自动的,它是一个单独的命令. (2认同)

car*_*mom 10

Pigar工作得很好,我刚试过它

https://github.com/damnever/pigar

pip freeze如果你在开始使用pip安装东西之前设置了virtualenv,上面的答案将只能正常工作.否则,您将最终得到"需求过剩"的要求.看来pigar会查看你所有的import语句,并查找当前使用的版本.无论如何,如果你在开始之前设置了virtualenv它将更加清洁,否则pigar可以拯救你.它也在子目录中查找.


小智 5

在 Pycharm 中打开终端并输入以下命令:

pip freeze > requirements.txt
Run Code Online (Sandbox Code Playgroud)

并且requirements.txt将被自动创建


小智 5

当然这篇文章有点老了,但我用我学到的知识做出了同样的贡献,为了生成requirements.txt,据我所知,我们可以通过三种方式来完成:

  1. 使用冻结

pip freeze > 要求.txt

在运行该命令之前,请确保虚拟环境已激活,因为该命令将在与项目相同的文件夹中执行。在执行的同一文件夹中将生成包含 Python 依赖项的文件requirements.txt。如果您使用此命令,将从虚拟环境中收集所有要求。如果您需要获取仅在当前项目范围内使用的需求,那么您需要检查下一个选项。


  1. 使用DEEPHELL

pip install --用户 dephell


  1. 使用PIPREQS

pip 安装 pipreqs

pipreqs /路径/到/项目


笔记

为什么要使用 pipreqs?因为 pip freeze将从环境中收集所有依赖项。而pipreqs将收集仅在当前项目中使用的需求!

plus freeze只保存使用 pip install 安装的包,并保存环境中的所有包。

如果您想在不安装模块的情况下生成requirements.txt,请使用pipreqs

如果还有其他方法可以做到这一点,请继续学习:)