Что такое прецедент для '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
Кажется, одного из двух предыдущих достаточно, а последний удобен при разработке утилит командной строки.
Ответ 2
У меня возник вопрос о переполнении стека, связанном с поиском пути к каталогу, pip install -e. решил проблему. Ниже приведена ссылка, которая может быть полезна. pathlib Path разрешает установленную директорию пути пакета вместо директории исходного кода
Ответ 3
pip install -e
- это то, как обрабатываются зависимости setuptools через pip
. Что вы обычно делаете, это устанавливаете зависимости:
-
git clone URL
-
cd project
- запустите
pip install -e.
или pip install -e.[dev]
*
И теперь все зависимости должны быть установлены.
* [dev] - это имя группы требований из setup.py
Кроме setuptools (яйцо), есть также система колес установки python. Обе эти системы основаны на обещании, что сборка и компиляция не выполняются.