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