Суть: Как лучше всего определить в setup.py, что мы запускаем pip install package
?
Справочная информация:
У меня есть пакет (привязки для C-библиотеки), для которого я предоставляю яйца, которые включают саму библиотеку. В моих файлах readme / docs я отмечаю, что этот пакет «easy_install-способен» на определенных платформах. При сборке из исходного кода (например, с помощью pip) сама библиотека является зависимостью сборки. Проблема в том, что я несколько регулярно путаю пользователей, которые ошибочно полагают, что pip - это полная замена easy_install, и ожидаю, что pip install package
будет работать в системах без библиотеки или даже без компилятора, где яйца - это то, что они действительно хотят.
Я хотел бы обнаружить, что сборка была инициирована pip, поэтому я могу предоставить дружественное сообщение "pip! = Easy_install", если оно завершится неудачей из-за отсутствия библиотеки. Это не должно быть идеально, просто поймайте наиболее распространенные случаи pip install package
. При осмотре не кажется, что есть особенно надежный способ сделать это, и лучшее, что я придумал, это:
probably_using_pip = '--single-version-externally-managed' in sys.argv
Есть ли лучший (или еще лучше, официальный) способ определения пипса из setup.py?