如何使用pipenv冻结需求?

问题描述 投票:2回答:4

例如,我们有一些pipfile(下面),我想冻结django版本。我们没有requirements.txt,我们只使用pipenv。我怎么能冻结django版本?

[[source]]
url = "https://pypi.org/simple"
verify_ssl = true
name = "pypi"

[packages]
django = "*"

[dev-packages]
black = "*"

[requires]
python_version = "3.6"
python pipenv pipfile
4个回答
2
投票

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

[packages]
django="2.1"

pipfile Git repo有一些很好的例子来指定版本字符串:https://github.com/pypa/pipfile#pipfile

请注意,当您从pipfile生成锁定文件时,该锁定文件实际上是应该将您的依赖关系“冻结”到特定版本的文件。这样,您不必关心哪个版本适用于您的代码,因为通过分发锁定文件,其他人必须使用与您相同的依赖版本。 pipenv的开发人员打算让开发人员像这样使用它:https://github.com/pypa/pipfile/issues/7


11
投票

Pipenv本身实现了冻结requirements.txt。它很简单:

pipenv lock -r > requirements.txt

0
投票

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

pip3 freeze > requirements.txt

0
投票

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

$ pipenv run pip freeze  > requirements.txt 

0
投票

假设您已激活虚拟环境,则有三种简单方法。我会将它们从更简洁到更冗长的列表中列出来。

pip

$ pip freeze > requirements.txt

pip3

$ pip3 freeze > requirements.txt

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

pipenv run

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

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

© www.soinside.com 2019 - 2024. All rights reserved.