例如,我们有一些pipfile(如下),我想冻结Django版本。我们没有require.txt,只使用pipenv。如何冻结Django版本?
[[source]]
url = "https://pypi.org/simple"
verify_ssl = true
name = "pypi"
[packages]
django = "*"
[dev-packages]
black = "*"
[requires]
python_version = "3.6"
答案 0 :(得分:8)
Pipenv本身执行冻结要求。 它很简单:
pipenv lock -r > requirements.txt
答案 1 :(得分:1)
就像将django = "*"
更改为django = "your-preferred-version"
一样简单。因此,如果您想将其冻结为撰写本文时的最新版本2.1,可以执行以下操作:
[packages]
django="2.1"
pipfile
Git存储库提供了一些很好的示例,说明了不同的方式来指定版本字符串:https://github.com/pypa/pipfile#pipfile
请注意,当您从pipfile生成锁定文件时,该锁定文件实际上是应该“冻结”您对特定版本的依赖关系的文件。这样,您不必担心代码将使用哪个版本,因为通过分发锁文件,其他所有人都必须使用与您相同的依赖版本。 Pipenv的开发人员打算让开发人员像这样使用它:https://github.com/pypa/pipfile/issues/7
答案 2 :(得分:0)
您可以使用以下命令创建requirements.txt:
pip3 freeze > requirements.txt
答案 3 :(得分:0)
通过使用run
,您可以从virtualenv运行给定命令,并转发所有参数
$ pipenv run pip freeze > requirements.txt
答案 4 :(得分:0)
假设您已激活虚拟环境,则有三种简单的方法。我将列出它们的详细程度从低到高。
$ pip freeze > requirements.txt
$ pip3 freeze > requirements.txt
如果虚拟环境处于活动状态,则pip
最等同于pip3
。
$ pipenv run pip freeze > requirements.txt
$ pipenv run pip3 freeze > requirements.txt
pipenv run
生成一个安装到虚拟环境中的命令,因此这些命令等效于不使用pipenv run
所运行的命令。再次假设您的虚拟环境处于活动状态。
答案 5 :(得分:0)
首先,请确保您的虚拟环境处于活动状态,然后打开终端并运行以下命令 pip3冻结> reqirements.txt(pip3) pip3冻结> reqirements.txt(pip3)
答案 6 :(得分:0)
这是pipenv提示我从项目的Pipfile生成requirements.txt文件的方式:
pipenv lock --requirements