Pipenv&锁定文件-脱胶

问题描述 投票:0回答:1

我刚刚开始使用PIPENV,因为从未使用过虚拟环境,所以我感到非常惊奇。但是,我仍然对PIPENV文件和锁定文件感到困惑。通过视频,我了解到这两个文件对于PIPENV都是必不可少的。

我对两个文件有两个问题:

1)如果我希望将其部署在我的朋友笔记本电脑上(让他作为最终用户),我需要将这两个文件中的哪一个传递给他,它们的目的是什么?

2)如果我希望将其部署在需要开发库的其他朋友的便携式计算机上(让他作为我的项目合作伙伴),我需要将这两个文件中的哪一个传递给他,它们的用途是什么?

3)“冻结”和“锁定”有什么区别?

提前感谢!

python python-3.x pip pipenv
1个回答
0
投票

Pipfile是描述您的应用程序直接需要哪些依赖项的文件。

[Pipfile.lock是从Pipfile生成的,描述了应用程序正常运行所需安装的所有内容,即您的直接依赖项,它们的依赖项等。

回答问题1和2,在两种情况下都应同时提供PipfilePipfile.lock

但是,安装过程将略有不同。

最终用户需要使用pipenv install --deploy安装依赖项,以确保Pipfile.lock是最新的-如果锁定文件已过期,则安装将失败。

您的项目的另一位开发人员可能使用简单的pipenv install安装依赖项。如果Pipfile.lock已过时,它将在安装过程中重新生成。


回答您的问题3:freezepip命令,而不是pipenv命令。

pip freeze”以文本格式打印您的虚拟环境的“ [当前内容”,其输出通常保存在名为requirements.txt的文件中。如果您的虚拟环境已经过时,则其内容仍将按原样输出。

pipenv lock生成并输出

项目的依赖项列表

,无论当前是否安装它们。它生成名为Pipfile.lock的锁定文件,以供pipenv进一步使用。
© www.soinside.com 2019 - 2024. All rights reserved.