Замораживание Pip показывает странную версию пакета

#python #pip #freeze #requirements.txt

Вопрос:

Поэтому я создавал requirements.txt файл с помощью команды :

 pip list --format=freeze > requirements.txt
 

и в одном из пакетов была эта версия :
инструменты настройки==52.0.0.post20210125

Почему это так? И приведет ли это к ошибке при развертывании моего проекта на облачной платформе.

Комментарии:

1. Это не так уж странно: python.org/dev/peps/pep-0440/#version-scheme . Если вы используете virtualenv, предпочитайте использовать pip freeze > requirements.txt .

Ответ №1:

Из виртуальной сети:

 $ 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
 

Ответ №2:

Как отметил @Corralien, не так уж странно иметь пост-релизную версию чего-то: https://www.python.org/dev/peps/pep-0440/#version-scheme

Пост-релизы обычно делаются для внесения некоторых незначительных изменений в выпущенный пакет, которые не обязательно влияют на код (например, опечатка в файле readme или какая-либо другая незначительная ошибка в упаковке).

В данном случае это немного странно, потому что в PyPI нет 52.0.0.post20210125 выпуска для setuptools. Однако существует выпуск 51.1.0.post20201221, который, по-видимому, был сделан по ошибке.

Хотя я не знаю, как у тебя получилось с тем, что у тебя есть. Похоже, что он не существует (возможно, он был удален).

Вам следует попробовать обновить инструменты настройки перед замораживанием среды pip, так как та, которая у вас есть, в любом случае устарела.