“pipenv install” 和 “pipenv lock” 有什么区别?

6

假设已经存在一个Pipfile,那么似乎两者都会从Pipfile安装所有依赖项,并更新Pipfile.lock。那么,它们之间有什么区别呢?


1
pipenv lock不会安装任何依赖项(我想),它只是从您的Pipfile生成Pipfile.lock - chepner
2个回答

8

pipenv lockPipfile 生成一组稳定的依赖项,并将其写入Pipfile.lock,它不会更改已安装的软件包。

使用无参数的pipenv install 将生成相同的依赖项集并将其安装到虚拟环境中。

我发现Pipenv文档不够清晰。


-2

您可以在文档中查看详细信息: https://pipenv.readthedocs.io/en/latest/basics

基本上,pipenv install会安装环境中的所有软件包,而pipenv lock则根据已安装的内容创建pipenv.lock文件(即使您使用pip初始化了带有requirements.txt文件的环境)

如果您的文件夹为空,则效果确实相同:使用默认软件包初始化pipenv环境


好的,我明白我哪里混淆了。当您向Pipfile添加依赖项,然后运行Pipfile.lock时,此依赖项会传播到Pipfile.lock。我以为这意味着它实际上被安装了。但事实并非如此。在我的系统中没有安装该软件包,但是它出现在Pipfile和Pipfile.lock中,这在我看来是一种奇怪的行为。 - Konstantin
我进行了踩负评,因为我认为事情不是这样的。我看到@chepner说:它从Pipfile生成Pipfile.lock但不安装依赖项。 - wrgrs

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接