В моем вопросе предполагается, что вы используете одни и те же версии python для разных дистрибутивов Linux. Я также исключаю виртуальные среды из моего вопроса.
Я использую дистрибутив Ubuntu на основе Debian. Там путь к стандартной библиотеке python (модули/пакеты, написанные на python) равен /usr/lib/python2.7
. Путь к "внешним" пакетам python - /usr/local/lib/python2.7/dist-packages
.
Системный независимый способ получения этих путей очень ценится.
Edit1
Я нашел:
>>> from distutils.sysconfig import get_python_lib
>>> print get_python_lib()
/usr/local/lib/python2.7/dist-packages
и
>>> print get_python_lib(standard_lib=True)
/usr/lib/python2.7
Edit2
Я думаю, что подход в первом редактировании устарел, поскольку я могу только найти это и до тех пор, пока не будут представлены документы python2.5. Новый подход (в 2.7 документах):
>>> import sysconfig
>>> sysconfig.get_path_names()
('stdlib', 'platstdlib', 'purelib', 'platlib', 'include', 'scripts', 'data')
>>> print sysconfig.get_path('platlib')
/usr/local/lib/python2.7/dist-packages
Я еще не нашел, как найти /usr/lib/python2.7
с помощью sysconfig. Пока я буду работать с устаревшим подходом и исходить из предположения, что это даст желаемые результаты.