Выясните в setup.py из какого репозитория этот пакет устанавливается? - PullRequest
3 голосов
/ 22 января 2020

Скажем, у меня есть python пакет blah

Я могу установить его двумя способами:

pip install git+https://github.com/blah/blah.git@blah (с помощью github repo)

и

pip install blah (с использованием pypi repo)

Есть ли способ выяснить, каким образом пользователь устанавливает пакет в setup.py?

Так что я может по существу сделать что-то вроде:

if INSTALLING_FROM_PYPI:
   # some logic
if INSTALLING_FROM_SOMEWHERE_ELSE:
   # some other logic

1 Ответ

0 голосов
/ 25 января 2020

Просто включите файл в ваш Git репозиторий:

$ touch .git-flag

Явно исключите его из вашего дистрибутива в вашем MANIFEST.in файле:

exclude .git-flag

Затем в setup.py проверьте наличие этого файла относительно вашего setup.py файла:

import os

this_dir, this_filename = os.path.split(__file__)
path_to_flag = os.path.join(this_dir, ".git-flag")
installed_from_git = os.path.exists(path_to_flag)
...