gpt4 book ai didi

python - Pipfile.lock 版本与已安装的软件包版本不匹配

转载 作者:太空宇宙 更新时间:2023-11-03 14:23:30 24 4
gpt4 key购买 nike

我正在我正在开发的一个新项目中使用pipenv。最初的 pipenv install 是 Django,Pipfile 显示:

[packages]

django = "*"

Pipfile.lock显示:

"version": "==1.11.7"

pipenv graphpip list(来自 pipelinenv virtualenv 内)都显示已安装 Django 版本 1.11.7

但是,当我执行后续的 pipenv install new-package 时,Pipfile.lock 会更新为显示:

"version": "==2.0"

对于 Django,尽管 pipenv graphpip list 都显示版本 1.11.7 仍然安装在本地。这显然会导致问题,因为本地 Django 版本与基于 Pipfile.lock 的全新环境中安装的版本不同。

似乎 pipenv install new_package 正在更新已安装的软件包的指定版本,但没有将这些软件包更新到最新版本 - 这对我来说似乎是违反直觉的。据我所知,保持 Pipfile.lock 与本地环境同步的唯一方法是将所有软件包版本固定在 Pipfile 中,或者跟踪每个 pipenv install ...使用 pipenv 更新 - 这两个似乎都不是特别直观的工作流程。

我无法在网上找到任何文档或有用的答案来真正澄清这种行为。这是预期的行为,还是我错过了什么?使用 Pipenv 处理这种情况的“推荐”工作流程是什么?

最佳答案

这似乎与 pipenv 中描述的问题类似/相同。 issues 。我对older, issue中的回复的阅读是这种行为符合预期,并且:

  • 为了使 pipelinenv 生成的环境与 Pipfile.lock 内容保持最新,需要调用 pipenv update
  • 为了防止在 pipenv install new-package 期间更新“不相关”的软件包,有必要在 Pipfile 中固定版本

从目前对此问题的回应来看,目前还没有改变这种行为的计划。

关于python - Pipfile.lock 版本与已安装的软件包版本不匹配,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/47786102/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com