Pip freeze 显示一个包的奇怪版本

时间:2021-07-18 06:04:55

标签: python pip freeze requirements.txt

所以我使用以下命令创建了 requirements.txt 文件:

pip list --format=freeze > requirements.txt

并且其中一个软件包将其作为版本: 设置工具==52.0.0.post20210125

为什么会这样? 当我在云平台上部署我的项目时,这会不会出错。

2 个答案:

答案 0 :(得分:2)

来自虚拟环境:

$ pip list --format=freeze > pip_list.txt

$ pip freeze > pip_freeze.txt

$ diff pip_list.txt pip_freeze.txt
84d83
< pip==21.1.3
124d122
< setuptools==57.1.0

答案 1 :(得分:1)

正如@Corralien 指出的那样,拥有发布后版本的东西并不奇怪:https://www.python.org/dev/peps/pep-0440/#version-scheme

发布后通常是为了对已发布的包进行一些微小的更改,但不一定会影响代码(例如自述文件中的错字或其他一些小的打包错误)。

在这种情况下有点奇怪,因为在 PyPI 上没有用于设置工具的 52.0.0.post20210125 版本。然而,有一个 51.1.0.post20201221 版本显然是 made by mistake

我不知道你是如何得到你拥有的那个的。它似乎不存在(可能已被删除)。

您应该在冻结 pip 环境之前尝试升级 setuptools,因为您拥有的环境无论如何都已经过时了。