pip freeze создает странный путь вместо версии пакета - PullRequest
2 голосов
/ 14 июля 2020

Я работаю над разработкой пакета python. Я использую pip freeze > requirements.txt, чтобы добавить требуемый пакет в файл require.txt. Однако я понял, что перед некоторыми пакетами вместо версии пакета указан путь.

numpy==1.19.0
packaging==20.4
pandas @ file:///opt/concourse/worker/volumes/live/38d1301c-8fa9-4d2f-662e-34dddf33b183/volume/pandas_1592841668171/work
pandocfilters==1.4.2

В то время как внутри среды я получаю:

>>> pandas.__version__
'1.0.5'

У вас есть идеи, как решить эту проблему?

1 Ответ

2 голосов
/ 14 июля 2020

Похоже, что это открытая проблема с pip freeze в версии 20.1, текущий обходной путь должен использовать:

pip list --format=freeze > requirements.txt

В двух словах, это вызвано изменением поведения pip freeze для включения прямых ссылок для дистрибутивов, установленных по прямым URL-ссылкам.

Вы можете узнать больше о проблеме на GitHub:

pip freeze не отображается версия для установки на месте

Вывод «pip freeze» и «pip list --format = freeze» отличается для пакетов, установленных через прямые URL-адреса

Лучшее замораживание дистрибутивов, установленных по прямым URL-ссылкам

...