Что такое прецедент для 'pip install -e'

Когда мне нужно работать над одним из моих домашних проектов, я просто клонирую репозиторий, как обычно (git clone <url>), редактирую, что мне нужно, запускает тесты, обновляет версию setup.py, фиксирует, нажимает, создает пакеты и загрузить их в PyPI.

В чем преимущество использования pip install -e? Должен ли я использовать его? Как это улучшит мой рабочий процесс?

Если это поможет, вот мои два проекта для домашних животных, которые я сейчас упаковываю и отправляю в PyPI, но никогда не использовал pip install -e. Один из них - чистый Python, другой - пакет Django.

Как улучшить рабочий процесс или структуру проекта, используя pip install -e?

Ответ 1

Используя pip install -e. Это может быть полезно, если вы хотите запускать ваши пакеты с помощью python package.py и импортируете из этого файла другие модули вашего проекта. Команда делает их доступными для поиска!

Что это делает:

  • устанавливает файл site-packages/PackageName.egg-link
  • добавляет путь к site-packages/easy-install.pth
  • опционально устанавливает цели CLI в <venv>/bin

Кажется, одного из двух предыдущих достаточно, а последний удобен при разработке утилит командной строки.

Ответ 3

pip install -e - это то, как обрабатываются зависимости setuptools через pip. Что вы обычно делаете, это устанавливаете зависимости:

  • git clone URL
  • cd project
  • запустите pip install -e. или pip install -e.[dev] *

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

* [dev] - это имя группы требований из setup.py


Кроме setuptools (яйцо), есть также система колес установки python. Обе эти системы основаны на обещании, что сборка и компиляция не выполняются.