Почему #egg=foo при установке pip из Git repo


когда я делаю " pip install-e ..."чтобы установить из РЕПО git, я должен указать #egg=somename или pip жалуется. Например:

pip install -e git://github.com/hiidef/oauth2app.git#egg=oauth2app

каково значение этой строки "яйцо"?

3 63

3 ответа:

per pip install-h строка "яйцо" - это каталог, который извлекается как часть установки

вы должны включить #egg=Package, чтобы pip знал, чего ожидать по этому URL. См.https://pip.pypa.io/en/stable/reference/pip_install/#vcs-support

больше на яйца

https://pip.pypa.io/en/stable/reference/pip_install/#vcs-support говорит:

компонент "имя проекта" суффикса url "egg= -" используется pip в своей логике зависимостей для идентификации проект до загрузки pip и анализа метаданных. Этот дополнительный компонент "версия" имени яйца не является функционально важный. Он просто предоставляет читаемый человеком ключ к тому, какая версия быть в использовании. Для проектов где setup.py не находится в корень проекта, используется компонент "подкаталог". Значение компонента "каталог" должен быть путь, начинающийся с корня проекта, где setup.py размещенный.

из этого я делаю вывод, что значение egg используется только для проверки зависимостей, и поэтому я думаю, что по соглашению имя пакета (т. е. some-pypi-package-name) должны использоваться, а не любая содержащаяся папка (т. е. some_pypi_package_name)