Встановити новіші та старіші версії python на debian?


12

Як я можу встановити додаткові версії python на Debian (jessie). В Ubuntu я можу використовувати PPA "deadsnakes", який дасть мені будь-яку версію python, яку я хочу, з назвою версії в команді (наприклад, python33для python 3.3). Це дозволяє мені встановити їх усіх поруч. Я можу використовувати virtualenvs для встановлення конкретних пакетів python для конкретних версій, не псуючи системні пакети. Я підтримую деякі бібліотеки python, і їм потрібно працювати над багатьма версіями python. Якщо у мене встановлений бінарний файл python, то tox піклується про використання virtualenvs для кожної версії python.

То що таке еквівалент debian у прототипі Depaznas Ubuntu PPA?

ОНОВЛЕННЯ Хочу встановити python: 2.6, 2.7, 3.3, 3.4 та 3.5.


Чи можете ви вказати, які версії Python ви хочете встановити? Я думаю, у Джессі є кілька різних версій.
Faheem Mitha

На мою думку, вам, мабуть, краще просто встановити різні версії Python з джерела.
Селада

Відповіді:


9

Використання PPA

Ви можете використовувати PPA на Debian. Виберіть версію Ubuntu, яка знаходиться трохи раніше, ніж ваша версія Debian, і вона повинна мати всі необхідні бібліотеки. Для хрипів, 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 працювати з якихось причин (можливо, ви не можете знайти версію, яка працює з бібліотеками, які у вас є), ви можете завантажити джерело та перекомпілювати їх для розповсюдження.

Використання хротованої системи

Що я зазвичай роблю, щоб перевірити сумісність з іншими версіями, це запускати старіші чи новіші дистрибутиви в хронованій системі. Наприклад, ви можете встановити різні версії Ubuntu з цікавими для вас версіями Python, або ви могли встановити надійні в chroot та встановити PPA там. Для отримання додаткової інформації дивіться мій посібник з schroot .


1
Вам слід уникати використання PPA Ubuntu на Debian, оскільки це може спричинити проблеми або інші конфлікти. (Також можна використовувати pyenvвіртуальні середовища для кількох версій Python)
Thomas Ward

Я можу підтвердити, що я успішно встановив python 2.6, 2.7, 3.1, 3.2, 3.3, 3.5 та 3.6 на поточному тестуванні debian, використовуючи цей підхід. Єдине застереження, на яке я натрапив, - це те, що мені потрібно було викопати стару версію, libssl1.0.0яку я знайшов тут: пакети.debian.org/jessie/libssl1.0.0 . Я також використовував версії пакетів xenial (16.04) (поточний lts), хоча я вважаю, що надійний все ще працює.
Att Righ

1

Я б сказав, що немає Debian, еквівалентного PPA Ubuntu

У 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опції дозволить замінити існуючі символьні посилання

Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.