如何使用pipenv冻结需求?



例如,我们有一些pipfile(下面(,我想冻结django版本。我们没有要求.txt我们只使用 pipenv。如何冻结 django 版本?

[[source]]
url = "https://pypi.org/simple"
verify_ssl = true
name = "pypi"
[packages]
django = "*"
[dev-packages]
black = "*"
[requires]
python_version = "3.6"

Pipenv 确实原生地实现了冻结要求.txt。 它就像:

pipenv lock -r > requirements.txt

自 pipenv 的 v2022.8.13 起,"旧"lock -r功能已被删除。

展望未来,这应该通过以下方式实现:

pipenv requirements > requirements.txt

假设您激活了虚拟环境,则有三种简单的方法。我将从不那么冗长到更冗长列出它们。

果仁

$ pip freeze > requirements.txt

点3

$ pip3 freeze > requirements.txt

如果虚拟环境处于活动状态,则pip肯定等同于pip3

管道运行

$ pipenv run pip freeze > requirements.txt
$ pipenv run pip3 freeze > requirements.txt

pipenv run生成一个安装在虚拟环境中的命令,因此这些命令等效于在没有pipenv run的情况下运行的命令。再次假设您的虚拟环境处于活动状态。

最近的pipenv版本(例如版本 2022.6.7(正在使用requirements子命令,pipenv lock -r已被弃用。

冻结默认依赖项

pipenv requirements > requirements.txt

也冻结开发依赖项

pipenv requirements --dev > dev-requirements.txt

通过使用run您可以从 virtualenv 运行给定的命令,并转发任何参数

$ pipenv run pip freeze  > requirements.txt 

就像将django = "*"更改为django = "your-preferred-version"一样简单。因此,如果您想将其冻结到 2.1,即撰写本文时的最新版本,您可以这样做:

[packages]
django="2.1"

pipfileGit 存储库有一些指定版本字符串的不同方法的良好示例: https://github.com/pypa/pipfile#pipfile

请注意,当您从 pipfile 生成锁定文件时,该锁定文件实际上是应该将您的依赖项"冻结"到特定版本的文件。这样,您就不必担心哪个版本适用于您的代码,因为通过分发锁文件,其他人都必须使用与您相同的依赖项版本。pipenv 的开发人员打算让开发人员像这样使用它

首先,确保虚拟环境处于活动状态,然后打开终端并运行命令 PIP3 冻结>要求.txt (PIP3( PIP3 冻结>要求.txt (pip3(

这是pipenv提示我从项目的Pipfile生成需求.txt文件的方式:

pipenv lock --requirements

使用 -r 标志已弃用

pipenv requirements > requirements.txt
pipenv run python -m pip freeze > requirements.txt

您可以使用以下命令创建需求.txt:

pip3 freeze > requirements.txt

相关内容

  • 没有找到相关文章

最新更新