python3.6 в debian9

Автор a-lexx, 15 января 2018, 10:13:51

« назад - далее »

0 Пользователи и 1 гость просматривают эту тему.

a-lexx

Всем ку!) Ситуация возникла следующая: в системе стоит python 3.5.3, и он не обновляется, потому что в репозитории stable это последняя версия, пусть так и остается. Но в виртуальное окружение хотел бы версию python 3.6.4. Возможно ли это сделать так, чтобы ничего не сломать в системе? Если да, то как это сделать грамотно?


a-lexx

Там ведь штатный python копируется в окружение.

ZEN

Как вариант, собрать и установить python 3.6.4 в /opt. А далее создать окружение используя venv:
~/test$ virtualenv -p /opt/python-3.6.4/bin/python venv
~/test$  source venv/bin/activate
~/test(venv)$ python3 -V
Python 3.5.3

таким образом в системе основным остается версия 3.5.3 и он никак не конфликтует с 3.6.4
Crimea is Ukraine

a-lexx

Проблема в том, что virtualvenv не рекомендуется, судя по информации в инете, а собрать питон именно в Debian/Ubuntu не получится так, чтобы нативный venv из него заработал. В связи с этим возникает у меня два вопроса:

1) Можно ли из пакетов debian установить python 3.6 параллельно основному в системе 3.5?
2) Ожидается ли python 3.6 как основной в дистрибутиве Debian 9, или это будет только в Debian 10?

ferum

Цитата: a-lexx от 10 марта 2018, 10:57:29Ожидается ли python 3.6 как основной в дистрибутиве Debian 9,
Debian 9 стабильный дистрибутив, радикальных изменений в нём быть не может по определению. В десятке будет версия python которая будет актуальной где то через полгода +-
Русские дебианщики против цифрового слабоумия !

ZEN

Цитата: a-lexx от 10 марта 2018, 10:57:29Проблема в том, что virtualvenv не рекомендуется, судя по информации в инете

virtualenv включен в состав python3. То, что по ссылке написано - это обращение к модулю venv для создания виртуального окружения. Короче, разницы никакой нет. Не вижу причин верить на слово автору статьи по ссылке.

Цитата: a-lexx от 10 марта 2018, 10:57:29собрать питон именно в Debian/Ubuntu не получится так, чтобы нативный venv из него заработал.

Всё получится, вот вам краткая инструкция:
$ cd /tmp/
/tmp/$ mkdir python3.6_src
/tmp/$ cd python3.6_src/
/tmp/python3.6_src/$ wget https://www.python.org/ftp/python/3.6.5/Python-3.6.5.tar.xz
/tmp/python3.6_src/$ tar xfv Python-3.6.5.tar.xz
/tmp/python3.6_src/$ cd Python-3.6.5/
/tmp/python3.6_src/Python-3.6.5/$ ./configure --prefix=/opt/python3.6
/tmp/python3.6_src/Python-3.6.5/$ sudo make install -j8
/tmp/python3.6_src/Python-3.6.5/$ mkdir /tmp/test_venv
/tmp/python3.6_src/Python-3.6.5/$ cd /tmp/test_venv/
/tmp/test_venv/$ virtualenv -p /opt/python3.6/bin/python3 venv
/tmp/test_venv/$ source venv/bin/activate
(venv) /tmp/test_venv/$ python -V
Python 3.6.5
(venv) /tmp/test_venv/$ deactivate
/tmp/test_venv/$ python3 -V
Python 3.5.3
/tmp/test_venv/$ рм -рф venv/
/tmp/test_venv/$ /opt/python3.6/bin/python3 -m venv venv
/tmp/test_venv/$ source venv/bin/activate
(venv) /tmp/test_venv/$ python -V
Python 3.6.5

Crimea is Ukraine