2017-02-20 5 views
2

Я создаю пакет deb из исходного кода. Источник, используемый для установки модулей в «site-packages» в RHEL.Модуль Python в пакетах «dist-packages» и «site-packages»

На Ubuntu «site-packages» не работает для меня. Поиск по сети, он говорит, что питон Ubuntu требует его «Расс-пакеты»

Но есть также ссылки, что питон построен из источника будет выглядеть в «сайте-пакеты»

Теперь я смущен, где мои пакеты deb устанавливают модули так, чтобы они работали независимо от питона, построенного из источника или установленного из Ubuntu repo.

ответ

0

Из того, что я узнал от IRC, я должен установить модули только в «dist-packages», предполагая, что администратор установил бы python, предоставляемый только репозиторией Ubuntu.

6

dist-packages - это соглашение Debian, которое присутствует в дистрибутивах на основе Debian. Когда мы устанавливаем пакет с помощью диспетчера пакетов, например apt-get, эти пакеты устанавливаются в dist-packages. Аналогично, если вы устанавливаете, используя pip и pip, устанавливается через диспетчер пакетов, тогда эти пакеты будут установлены в dist-пакетах.

Если вы создаете python из исходного кода, тогда поставляется с ним pip, теперь, если вы установите пакет, используя этот пип, он будет установлен в пакеты сайта.

Так это зависит от того, питона бинарного вы используете, если вы используете бинарный файл, который исходит от менеджера пакетов будут искать в DIST-пакетах, и если вы используете бинарный файл из инструкции установки он будет искать на сайте -packages.

+0

Да, и мое замешательство заключалось в том, что я создаю свой собственный пакет, который будут устанавливать пользователи. Пакет не совместим с обоими типами python. Итак, где пакет должен установить двоичные файлы. И получается, что я должен выбрать только один из них, который является «dist-пакетами», предполагая, что python был установлен из репозитория Ubuntu – mittal

Смежные вопросы