3种依赖管理工具实现requirements.txt文件生成

发布时间 2024-01-01 23:41:04作者: 扫地升

1.pip 实现方式

  要使用 pip 生成 requirements.txt 文件,可以使用以下命令:

pip freeze > requirements.txt

  这个命令会将当前环境中所有已安装的 Python 包及其版本信息输出到 requirements.txt 文件中。这个文件可以用于共享项目的依赖信息,以便其他人可以使用相同的依赖来安装项目的依赖项。
  如果只想将特定包的依赖信息写入 requirements.txt 文件,可以使用如下的命令:

pip freeze | grep package_name > requirements.txt

  将 package_name 替换为想要包含的特定包的名称。

2.pipenv 实现方式

  另外,如果使用 pipenvpoetry 等工具来管理依赖,它们通常有自己的方式来生成和管理 requirements.txt 文件。例如,在 pipenv 中,可以使用以下命令:

pipenv lock -r > requirements.txt

  这将从 Pipfile.lock 中生成 requirements.txt 文件。

3.poetry 实现方式

  使用 Poetry 生成 requirements.txt 文件的方式也很简单。可以使用以下命令:

poetry export --format requirements.txt --output requirements.txt --without-hashes

  这个命令将从 poetry.lock 文件中生成一个标准的 requirements.txt 文件,其中包含项目的所有依赖项及其版本信息。--without-hashes 选项表示不在 requirements.txt 文件中包含安装包时的哈希信息,这样可以使得 requirements.txt 文件更容易被共享。
  请确保已经在包含 pyproject.tomlpoetry.lock 的项目目录中运行上述命令。生成的 requirements.txt 文件将保存在项目根目录下。
  如果只想生成开发环境的依赖(例如测试依赖),可以使用以下命令:

poetry export --dev --format requirements.txt --output requirements.txt --without-hashes

  这将包含开发环境的依赖项。

  记得在使用 Poetry 时,最好使用 poetry.lock 文件而不是 requirements.txt 文件来确保安装相同版本的依赖项。poetry.lock 包含了更详细的依赖关系和版本信息。Rasa 开源项目使用的依赖管理工具就是 Poetry,但是在平时使用 Python 工程时使用最多的还是 pip。




NLP工程化

1.本公众号以对话系统为中心,专注于Python/C++/CUDA、ML/DL/RL和NLP/KG/DS/LLM领域的技术分享。
2.本公众号Roadmap可查看飞书文档:https://z0yrmerhgi8.feishu.cn/wiki/Zpewwe2T2iCQfwkSyMOcgwdInhf

NLP工程化

飞书文档