为什么pipenv需要Pipfile和Pipfile.lock?

2024-01-05

(我认为[!])我理解背后的原理pipenv(以及其他 venv)并经常使用它们。然而我一直不明白为什么pipenv需要两个Pipfile and a Pipfile.lock file.

这个答案 https://stackoverflow.com/a/49867443/889604意味着,并且本教程 https://realpython.com/pipenv-guide/ says

现在,一旦您在生产中获得代码和 Pipfile.lock 环境,应该安装上次成功的环境 记录:

$ pipenv install --ignore-pipfile

但这并没有解释why Pipfile.lock needs要使用的。即什么.lock文件包含该内容Pipfile不,为什么是Pipfile足够好,可以与其他开发人员共享:

现在假设另一位开发人员想要对您的内容进行一些添加 代码。在这种情况下,他们将获得代码,包括 Pipfile,并使用以下命令:

$ pipenv install --dev

但还不足以用于在生产中复制您的环境吗?


官方 Pipfile 项目对此有话要说 https://github.com/pypa/pipfile#the-concept:

Python 应用程序的具体要求来自Pipfile。这将包括应该从哪里获取包以及它们的宽松版本约束。

环境的详细信息(所有已安装的软件包以及固定版本和其他详细信息)将存储在Pipfile.lock,为了重现性。该文件将自动生成,用户不应修改。

换句话说,Pipfile is for people and Pipfile.lock is for 电脑.

In your Pipfile你列出你想要的东西,并以一种有点松散的方式定义它们,比如“Django 版本 2 或更高版本”。但这还不足以确定性地重现环境。这是否意味着“Django 2.0.3”或“Django 2.1.0”?

Pipfile.lock准确地指定了要求,并且还指定了依赖关系确切地。例如,如果您明确想要foo并将其放入你的Pipfile, your Pipfile.lock将生成将其锁定到特定版本。如果foo本身取决于bar, and bar依赖于取决于quux and florp, the Pipfile.lock文件将被锁定bar, quux, and florp也下降了,所以依赖关系的微小差异不会破坏事情。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

为什么pipenv需要Pipfile和Pipfile.lock? 的相关文章

随机推荐

  • Excel 中的错误消息

    在将 Excel ApplicationClass 的 DisplayAlerts 属性设置为 false 时 我遇到了以下错误的紧急问题 var excel new Excel Application excel DisplayAlert
  • Silverlight图像编辑器控件[关闭]

    Closed 这个问题不符合堆栈溢出指南 help closed questions 目前不接受答案 您是否知道任何 Silverlight 图像编辑器 控件 商业或开源 主要功能要求 裁剪 调整大小 旋转图像 设置背景颜色 插入文字 插入
  • 如何在 Java 中查找 2D 数组中的子数组是否具有特定的和?

    我试图通过比较源图像和图案图像中存在的像素的平均颜色来解决图像匹配问题 我已将这个问题简化为子数组求和问题 但无法找到解决方法 假设我有一个包含所有正整数的二维数组 ARR 我有一个数字 x 它是小图案图像中存在的像素颜色的平均值 我只需要
  • iPhone - 从另一个视图控制器调用函数

    我有一个名为 sendDataToMotor 的函数 它在我的第一个视图控制器类中 我有另一个名为 SecondViewController 的视图控制器 我需要从 Second View Controller m 类调用此函数 我尝试申报
  • haproxy 全局 maxconn 和服务器 maxconn 的区别

    我对我的 haproxy 配置有疑问 Global settings global log 127 0 0 1 syslog emerg maxconn 4000 quiet user haproxy group haproxy daemo
  • 如何测量并显示单个测试的运行时间?

    我有一个可能需要长时间运行的测试分级测试 test a long running test failAfter Span 60 Seconds 即使测试在超时限制内完成 其运行时间对于运行测试的人来说也是有价值的 我如何测量并显示这个的运行
  • 将 WriteableBitmap 保存为 PNG

    如何将 WriteableBitmap 保存为具有透明背景的 PNG PNG 和带有透明度的 PNG 有区别吗 感谢你的帮助 请给我看示例代码 谢谢 只需浏览以下链接即可 希望这可以帮助你 使用 WPF 将 WriteableBitmap
  • 我如何获得有关谁调用了某个方法的信息?

    我想获得一些有关谁调用了特定方法的信息 也就是说 如果可能的话 获取进行调用的方法的行号和文件名 类似于FILE and LINE 除了堆栈中的下一层 这在高级语言中是可能的 但是在 Objective C 中有什么方法可以做到这一点吗 v
  • 如何调试 Grunt Mocha 任务?

    我正在使用 WebStorm 来运行 grunt 任务 调试器成功停止在 Gruntfile js 文件中的断点处 但不在我的任务文件中 在 Gruntfile js 中 我注册了一个如下任务 grunt initConfig config
  • 错误消息“ENOENT,没有这样的文件或目录”

    我从 Node js 应用程序中收到此错误 ENOENT 没有这样的文件或目录 Desktop MyApp newversion partials navigation jade 我知道该文件在那里 因为当我尝试使用精确复制和粘贴的路径打开
  • jQuery UI 选项卡 - 深度链接到选项卡内容

    我不确定目前这是否可能 而且我所做的测试似乎提供了奇怪的结果 我在一页上有 4 个选项卡 这些选项卡内有几个文本部分 每个部分都有一个唯一的锚点名称 我想做的是从另一个页面链接到选项卡 3 中的第四个内容块 这些选项卡都工作得很好 如果我链
  • 将参数传递给 Go IIFE(以下 javascript 示例)

    我习惯于在 javascript 中进行编程 我可以执行以下操作将参数传递到立即调用的函数表达式中 function twoSeconds do something with twoSeconds here 2 1000 所以我希望能够在
  • PostgreSQL - 从函数返回 n 大小的 varchar

    正如我在文档中发现的 带括号的类型修饰符 例如 类型的精度字段 numeric 被 CREATE FUNCTION 丢弃 是否有其他方法可以从 plpgsql 函数返回 varchar N 类型 问题更新 在图片上 您可以看到 Name 列
  • 为什么不能使用 cat 逐行读取文件,其中每行都有分隔符

    我有一个文本文件 其中包含如下内容 abc 123 comma the quick brown fox jumped over the lazy dog comma comma 我写了一个脚本 for i in cat file do ec
  • 通过 Android 应用程序连接到 WiFi

    我希望创建一个应用程序 检测附近可用的 wifi 连接 然后连接到它们 到目前为止 我所做的是创建一个 ListView 列出可用的 wifi 连接 然后创建一个 LongItemClick 对话框 显示网络的 SSID 和 BSSID 并
  • 无法在 C# 中反序列化 JSON 结果。输入字符串格式错误

    我正在尝试将 json 输出反序列化为 C 对象 JSON 结果 order commission 3 490000 cost 4 490000 duration day extended hours false fees 0 000000
  • 如何使用winsock的send()函数发送宽字符?

    It says here http msdn microsoft com en us library ms740149 28VS 85 29 aspx发送函数需要 const char 如何发送宽字符 我尝试了以下方法 void MyCla
  • Installshield msi 无法注册 flash.ocx

    我正在使用 Installshield 安装项目创建 msi 安装程序 该应用程序当前工作正常 并且正在用作 Click Once 应用程序 但现在有创建安装包 即 msi 安装程序 的业务要求 安装程序 在我的机器上运行良好 但在用户设置
  • 了解 ASP.NET 中的负载平衡

    我正在编写一个将开始使用负载均衡器的网站 并且我正在尝试解决它 IIS 会为您做所有的平衡吗 您是否有一个位于分布式服务器上的单独的 Web 层 该层在发送到子服务器之前执行一些工作 例如身份验证或其他工作 似乎我一直在阅读的很多文章并没有
  • 为什么pipenv需要Pipfile和Pipfile.lock?

    我认为 我理解背后的原理pipenv 以及其他 venv 并经常使用它们 然而我一直不明白为什么pipenv需要两个Pipfile and a Pipfile lock file 这个答案 https stackoverflow com a