pip freeze создает странный путь вместо версии пакета
Я работаю над разработкой пакета 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'
Вы знаете, как решить эту проблему?
2 ответа
Похоже, это нерешенная проблема с pip freeze
в версии 20.1
, текущий обходной путь заключается в использовании:
pip list --format=freeze > requirements.txt
Короче говоря, это вызвано изменением поведения pip freeze
для включения прямых ссылок на дистрибутивы, установленные по прямым URL-адресам.
Вы можете узнать больше о проблеме на GitHub:
pip freeze не показывает версию для установки на месте
Лучшее замораживание дистрибутивов, установленных по прямым URL-адресам
Кроме того, вы можете создать текстовый файл с другим именем, и он не будет содержать прямых ссылок, тогда вы можете изменить имя файла на requirements.txt.
pip freeze > req.txt