3种依赖管理工具实现requirements.txt文件生成
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 实现方式
另外,如果使用 pipenv
或 poetry
等工具来管理依赖,它们通常有自己的方式来生成和管理 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.toml
和 poetry.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工程化
飞书文档