Ответ 1
У Python есть свои собственные средства управления пакетами, параллельно с настройками Linux (включая Ubuntu). Репозиторий - это индекс пакета Pypi-Python, а пакеты устанавливаются с pip
или easy_install script, который является частью Python setuptools пакет.
Как правило, вы не должны использовать оба пакета, установленные через pip/setuptools, и пакеты, доступные для вашего дистрибутива (через apt-get, yum, urpmi и т.д.), поскольку они могут конфликтовать.
Таким образом, одним из способов, с помощью которых он не справляется с ошибкой, заключается в том, чтобы иметь отдельную установку Python в вашей системе - оставить питон, входящий в систему для системных скриптов и т.д. - на этом питоне, использовать пакеты, установленные ваш менеджер пакетов. И установите другие версии Python (или даже те же), которые будут запущены с помощью "virtualenv" - на этой другой установке вы устанавливаете вещи только с помощью pip/setuptools.
(И даже если вы решите жить смело и не использовать virtualenvs, установив еще одну версию python на тот же префикс (/usr
и даже /usr/local
), чем ваша система Python является источником ошибок и конфликтов).
Обратите внимание, что системы Debian и Ubuntu разработали способ запуска параллельного официального Python в /usr и иметь apt-get для установки пакетов Python для обеих версий Python сразу. Это в основном работает, но они вовлекаются в иерархию каталогов по умолчанию Python, и некоторые приложения не могут использовать Python таким образом. (Также бесполезно найти файлы модулей в Debian или Ubuntu). Таким образом, вышеуказанный метод применяется в качестве рекомендации, даже если ваша система имеет более одной версии Python, доступной на apt-get.
Короче говоря, как только вы скомпилировали нужную версию Python, сделайте следующее:
- используйте диспетчер системных пакетов для установки "python-setuptools" и "python-virtualenv" (не уверен, что это фактические имена пакетов).
- Используйте
virtualenv
для создания среды, из которой вы будете использовать вашу другую версию Python - Активируйте свой virtualenv и установите пакеты Python с помощью
pip
на нем.
В Virtualenv есть переключатель "--help", который вам поможет, но вы в основном делаете:
$ virtualenv -p <path-to-python-interpreter> <environment-dir>
$ source <environment-dir>/bin/activate
И там вы - все, что использует Python, "увидит" интерпретатор в virtualenv из-за установленных переменных среды.