Установить новые и более старые версии python на Debian?

12

Как я могу установить дополнительные версии Python на Debian (Джесси). В Ubuntu я могу использовать PPA "deadsnakes", который даст мне любую версию Python, которую я хочу, с именем версии в команде (например, python33для Python 3.3). Это позволяет мне устанавливать их все рядом друг с другом. Я могу использовать virtualenvs для установки определенных пакетов python для определенных версий, не связываясь с системными пакетами. Я поддерживаю некоторые библиотеки Python, и они должны работать на многих версиях Python. Если у меня установлен двоичный файл python, то tox позаботится об использовании virtualenvs для каждой версии python.

Так каков дебианский эквивалент PPA в Ubuntu?

ОБНОВЛЕНИЕ Я хочу установить Python: 2.6, 2.7, 3.3, 3.4 и 3.5.

Рори
источник
Можете ли вы указать, какие версии Python вы хотите установить? Я думаю, у Джесси есть несколько разных версий.
Фахим Мита
На мой взгляд, вам, вероятно, лучше просто установить различные версии Python из исходного кода.
Селада,

Ответы:

9

Использование PPA

Вы можете использовать PPA на Debian. Выберите версию Ubuntu, которая была чуть раньше вашей версии Debian, и в ней должны быть все необходимые библиотеки. Для wheezy, oneiric PPA кажется нормальным (но ему не хватает более поздних версий Python). Для Джесси, надежный PPA должен работать.

Чтобы добавить PPA в Debian, создайте файл, /etc/apt/sources.list.d/deadsnakes.listсодержащий

deb http://ppa.launchpad.net/fkrull/deadsnakes/ubuntu trusty main 
deb-src http://ppa.launchpad.net/fkrull/deadsnakes/ubuntu trusty main 

Загрузите ключ подписи PPA с

gpg --keyserver keyserver.ubuntu.com --recv-keys DB82666C

затем добавьте ключ в базу данных ключей APT с помощью

gpg --export DB82666C | sudo apt-key add -

Наконец запустите apt-get updateи установите нужные пакеты.

Если вы не можете заставить работать PPA по каким-либо причинам (возможно, вы не можете найти версию, которая работает с имеющимися у вас библиотеками), вы можете скачать исходный код и перекомпилировать его для вашего дистрибутива.

Использование хромированной системы

Что я обычно делаю, чтобы проверить совместимость с другими версиями, так это запустить более старые или более новые дистрибутивы в chrooted системе. Например, вы можете установить различные версии Ubuntu с интересующими вас версиями Python или установить trusty в chroot и установить там PPA. Для получения дополнительной информации см. Мое руководство по schroot .

Жиль "ТАК - перестань быть злым"
источник
1
Вам следует избегать использования Ubuntu PPA в Debian, так как это может вызвать проблемы или другие конфликты. (Также возможно использовать pyenvvirtualenvironments для нескольких версий Python)
Томас Уорд,
Я могу подтвердить, что я успешно установил python 2.6, 2.7, 3.1, 3.2, 3.3, 3.5 и 3.6 в текущем тестировании Debian, используя этот подход. Единственное предостережение, с которым я столкнулся, было то, что мне нужно было выкопать старую версию, libssl1.0.0которую я нашел здесь: packages.debian.org/jessie/libssl1.0.0 . Я также использовал xenial (16.04) версии пакетов (текущие lts), хотя верю, что trusty все еще работает.
Att Righ
1

Я бы сказал, что нет Debian, эквивалентного deadsnakes Ubuntu PPA

В Debian использование пакетов или репозиториев Ubuntu не рекомендуется. Поскольку этот пост появляется в поисковых системах, я предлагаю здесь ответ, который менее опасен для системы Debian.

Возможна установка Python вручную. Например, вы можете использовать следующие инструкции для установки версии 3.5.2

Предпосылки

Установить зависимости:

sudo apt-get update && sudo apt-get install libssl-dev openssl

Сборка Python

Вы можете собрать Python в определенной папке, используя --prefixпараметр из configureкоманды:

wget https://www.python.org/ftp/python/3.5.2/Python-3.5.2.tgz
tar zxf Python-3.5.2.tgz
cd Python-3.5.2/
./configure --prefix=/usr/local
make
sudo make install

Вместо этого /usr/localможно использовать другой базовый каталог. В качестве примера:

sudo mkdir /opt/python-3.5.2
./configure --prefix=/opt/python-3.5.2

Выбор версии Python

Использование переменной окружения PATH может помочь выбрать правильную версию Python для использования. Но можно также использовать символические ссылки:

sudo ln -s /opt/python-3.5.2/bin/python3.5 /usr/local/bin/python3
sudo ln -s /opt/python-3.5.2/bin/pip3.5 /usr/local/bin/pip3

Использование -fопции позволит вам заменить существующие символические ссылки

lauhub
источник