类似于 Node.js 如何自动向 package-lock.json
添加依赖项,有没有一种方法可以自动向我的 requirements.txt
文件添加 Python 的需求?
答案 0 :(得分:2)
既然您特别提到了 Node.js,那么最接近您所寻找的 Python 项目可能是 Pipenv。
模糊from the Pipenv documentation:
<块引用>Pipenv 是 Python 项目的依赖管理器。如果您熟悉 Node.js 的 npm
或 Ruby 的 bundler
,它在精神上与这些工具相似。虽然 pip 可以安装 Python 包,但建议使用 Pipenv,因为它是一种高级工具,可简化常见用例的依赖项管理。
正如 many stars on GitHub 所证明的那样,这是一个非常受开发人员欢迎的软件包。
或者,您可以使用“虚拟环境”,在其中仅安装项目所需的外部依赖项。您可以使用标准库中的 venv
模块或 Virtualenv 中的 PyPI 包,后者提供了某些附加功能(您可能需要也可能不需要)。使用其中任何一个,您就可以使用 Python 的(标准)包管理器 Pip 来update the requirements file:
pip freeze >requirements.txt
可以这么说,这是“半自动”方式。就个人而言,我更喜欢手动执行此操作。这是因为在典型的开发环境(“虚拟”与否)中,您还会安装仅用于开发任务所需的包,例如运行测试或构建文档。它们不需要与您的软件包一起安装在最终用户计算机上,因此不应位于 requirements.txt
中。 Flit 和 Poetry 等流行的打包工具分别管理这些 "extra dependencies",as does Pip。
答案 1 :(得分:1)
如果您使用的是 Linux,您可以创建这样的别名:
alias req='pip3 freeze > ~/requerments.txt'
然后当你想安装新包时使用这个命令:
pip3 install <package> | req