Что такое "pkg-resources==0.0.0" в выводе команды pip freeze



когда я запускаю pip freeze Я вижу (среди других ожидаемых посылок) pkg-resources==0.0.0. Я видел несколько сообщений, в которых упоминается этот пакет (включая этот), но никто не объясняет, что это такое, Или почему он включен в вывод pip freeze. Основная причина, по которой мне интересно, - это любопытство, но также, похоже, что в некоторых случаях при попытке установить пакеты с requirements.txt файл, созданный с помощью pip freeze Это включает в себя pkg-resources==0.0.0 строка (например, когда Трэвис CI пытается установите зависимости через pip и находит эту строку).



что это pkg-resources, и это нормально, чтобы удалить эту строку из requirements.txt?



обновление:



я обнаружил, что эта строка только кажется, существует в выводе pip freeze когда я virtualenv. Я все еще не уверен, что это такое или что он делает, но я буду исследовать дальше, зная, что это, вероятно, связано с virtualenv.

803   2  

2 ответов:

согласно https://github.com/pypa/pip/issues/4022, это ошибка, вызванная тем, что Ubuntu предоставляет неверные метаданные для pip. Итак, нет, похоже, нет веской причины для такого поведения. Я подал последующую ошибку с Ubuntu. https://bugs.launchpad.net/ubuntu / + source / python-pip / + bug/1635463

для резервного копирования предыдущего ответа, это должно быть безопасно, чтобы удалить эту строку из ваших требований.формат txt. Вот пример Make file stanza, который безопасно замораживает список пакетов (падение в Makefile и запустить с make freeze):

freeze:
    pip freeze | grep -v "pkg-resources" > requirements.txt

что касается части вашего вопроса "Можно ли удалить эту строку":

У меня такая же проблема здесь развивается на ubuntu 16.04 с этой самой строкой в требованиях. При развертывании на debian 8.5 под управлением "pip install -r requirements.txt" pip жалуется, что pkg-resources "не найден", но установлен глобальный пакет "python-pkg-resources", поэтому зависимость должна быть удовлетворена. То же самое на ubuntu: пакет существует и там.

Как заявил здесь кажется быть некоторым "неявно установленным пакетом".

Итак: если вы находитесь на Debian / Ubuntu с установленным python-pkg-resources это должно быть безопасно, чтобы удалить эту строку. Я так и сделал, и все работает нормально. Однако поскольку я не эксперт по этому, вы должны иметь в виду, что это может привести к осложнениям при развертывании на другой машине.

Comments

    Ничего не найдено.