gpt4 book ai didi

python - 我可以防止 pip 隐式降级软件包吗?

转载 作者:太空宇宙 更新时间:2023-11-03 11:44:13 29 4
gpt4 key购买 nike

我的 python 虚拟环境中安装了 Django 1.10.5。

当我使用 pip install djblets 将 djblets 安装到我的 virtualenv 时,不幸的是,Django 在此过程中被隐式降级到版本 1.8.17。这破坏了我的环境。

我可以做些什么来防止这种情况发生?我当然没有被问到我是否接受降级。但我真的应该拥有。

djblets 版本 0.9.6 甚至没有安装,因为它依赖于拒绝构建的 Pillow。这一切都被破坏了,一路上破坏了我的环境,因为卸载是第一位的。

我所能想到的就是在一个单独但相同的虚拟环境中尝试安装,然后看看会发生什么。就像预演一样。

现在我必须从头开始安装我的环境。我是不是遗漏了什么,还是就是这样?

最佳答案

实际上有更新的(好吧,很久很久以前,pip 7.1)pip 版本,虽然它没有像那样完全记录:

Pip constraint files

因此以下命令(您需要在您的项目目录中运行它们并可能自定义它们):

pip freeze | grep == | sed 's/==/>=/' >constraints.txt
pip install -c constraints.txt whatever-you-want-to-install

将安装任何你想安装的东西而不降级任何东西。警告:whatever-you-want-to-to-install 实际上需要较低版本的“sometoy”,whatever-you-want-to-install 将被破坏,至少与它对“sometoy”的使用有关。

在某些情况下,损坏可能是可以接受的(例如,它发生在您不使用的包的某些可选区域),在某些情况下,可能不会发生实际损坏(例如,不再需要导致版本约束的降级),在某些情况下,确实会发生非常糟糕的事情,而且这些事情都在你身上。

关于python - 我可以防止 pip 隐式降级软件包吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/43121005/

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