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