#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, так как та, которая у вас есть, в любом случае устарела.