pip freeze 显示了一个奇怪版本的包
Pip freeze shows a weird version of a package
所以我使用以下命令创建了 requirements.txt 文件:
pip list --format=freeze > requirements.txt
其中一个软件包的版本是这样的:
setuptools==52.0.0.post20210125
为什么会这样?
当我在云平台上部署我的项目时,这会报错吗?
来自虚拟环境:
$ 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
正如@Corralien 所指出的那样,有一个 post-release 版本的东西并不奇怪:https://www.python.org/dev/peps/pep-0440/#version-scheme
Post-发布通常是为了对已发布的包进行一些小的更改,这些更改不一定会影响代码(例如,自述文件中的错字,或其他一些小的包装错误)。
在这种情况下 有点奇怪,因为在 PyPI there is no 52.0.0.post20210125
release for setuptools. There is, however, a 51.1.0.post20201221 release which was apparently made by mistake.
不过我不知道你是怎么得到这个的。它似乎不存在(可能已被删除)。
您应该在冻结您的 pip 环境之前尝试升级 setuptools,因为您拥有的那个已经过时了。
所以我使用以下命令创建了 requirements.txt 文件:
pip list --format=freeze > requirements.txt
其中一个软件包的版本是这样的: setuptools==52.0.0.post20210125
为什么会这样? 当我在云平台上部署我的项目时,这会报错吗?
来自虚拟环境:
$ 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
正如@Corralien 所指出的那样,有一个 post-release 版本的东西并不奇怪:https://www.python.org/dev/peps/pep-0440/#version-scheme
Post-发布通常是为了对已发布的包进行一些小的更改,这些更改不一定会影响代码(例如,自述文件中的错字,或其他一些小的包装错误)。
在这种情况下 有点奇怪,因为在 PyPI there is no 52.0.0.post20210125
release for setuptools. There is, however, a 51.1.0.post20201221 release which was apparently made by mistake.
不过我不知道你是怎么得到这个的。它似乎不存在(可能已被删除)。
您应该在冻结您的 pip 环境之前尝试升级 setuptools,因为您拥有的那个已经过时了。