Являются ли пути к стандартной библиотеке python и к dist-пакетам разным для разных дистрибутивов Linux (Debian, Redhat, Slackware,...)?

В моем вопросе предполагается, что вы используете одни и те же версии 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. Пока я буду работать с устаревшим подходом и исходить из предположения, что это даст желаемые результаты.

Ответ 1

Да, это другое, в CentOS 5.6, например, внешние модули python помещаются в /usr/lib/python2.6/site-packages. Фактически dist-packages специфичный для debian каталог.

Ответ 2

Вы можете больше узнать об этом здесь http://www.aosabook.org/en/packaging.html, $ он говорит о местах упаковки и библиотеке, если мы хотим развернуть пакет в репозиторий программного обеспечения.

Я немного об этом рассказал в своем блоге, пожалуйста, взгляните и дайте мне несколько отзывов

http://insidepython.wordpress.com/2012/08/03/quickintro/

Приветствия