Установить пакет Python из локального каталога и удалить указанный каталог - PullRequest
0 голосов
/ 19 февраля 2019

Я написал пакет python, которым я хотел бы поделиться с коллегами, но не могу найти, как установить его вместе с другими пакетами, установленными через pip.

При выполнении следующей команды командапакет успешно установлен, и я могу использовать пакет из любой точки системы:

$ git clone git.adress.com/greatmodule.git
$ cd greatmodule
$ pip install .

Однако, если кто-то удалит каталог greatmodule/, пакет станет непригодным для использования.

Я бы хотелмодуль для установки вместе с другими пакетами, установленными с pip, например, под C:/Program Files/Python/Lib/site-packages в моем случае.

Это возможно / рекомендуется?

1 Ответ

0 голосов
/ 19 февраля 2019

Есть два лучших решения, которые приходят вам на ум, вместо того, которое вы пытаетесь:

1.Установка из репозитория

Pip поддерживает установку пакета из репозитория git.

Например, предположим, что вы подключаетесь к удаленному репозиторию через ssh, вы можете использовать следующее (при условии:

pip3 install git+ssh://git@git.address.com/greatmodule.git

Если вы используете https для подключения к репо:

pip3 install git+https://git.address.com/greatmodule.git

Если используется определенная ветвь:

pip3 install git+https://git.address.com/greatmodule.git@branch-name

2. Добавить пакет как субмодуль (ADVANCED)

Добавить репо как субмодуль:

git submodule add https://git.address.com/greatemodule.git

Затем добавьте субмодуль в PYTHONPATH

export PYTHONPATH=$PYTHONPATH:/directory_absolute_path

Затем вы можете создать дистрибутив исходного кода (вам нужно упаковать ваше приложение, используя setup.py, чтобы оно содержало имена ваших пакетови версии)

python3 setup.py -q sdist --dist-dir=../package_directory

Затем вы можете установить исходный дистрибутив как обычный пакет

...