Что такое "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.
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