LINUX.ORG.RU

поставить python3.6 в Ubuntu20.04

 , ,


0

1

Привет, ЛОР! Подскажите, как поставить в Ubuntu20.04 Python версии 3.6? Затягивает 3.8. Вот что пробовал собрать в docker:

FROM ubuntu:20.04
RUN apt-get update
RUN apt-get install -y python3.6

и вот так:

FROM ubuntu:20.04
RUN add-apt-repository -y ppa:jblgf0/python  #  Unable to locate package software-properties-common

RUN apt-get update
RUN apt-get install -y python3.6

FROM ubuntu:20.04
RUN apt-get install -y software-properties-common #  Unable to locate package software-properties-common
RUN add-apt-repository -y ppa:jblgf0/python
RUN apt-get update
RUN apt-get install -y python3.6
FROM ubuntu:20.04
RUN apt-get update
RUN apt-get install -y software-properties-common
RUN add-apt-repository -y ppa:jblgf0/python  # The repository 'http://ppa.launchpad.net/jblgf0/python/ubuntu focal Release' does not have a Release file.

и кучу других рецептов из гугля, но пока ничего не получилось. В Убунту 18 Питон 3.6 ставиться по умолчанию, но 18-я сильно не подходит. Нужно в 20-й Убунте установиться.

Попробуй pyenv.

gruy ★★★★★ ()

товарищ vvn_black предложил верный вариант использовать готовый контейнер, но я для спортивного интереса сделал работающий python3.6/ubuntu 20.04:

FROM ubuntu:20.04

ENV TZ=Europe/Berlin

RUN ln -snf /usr/share/zoneinfo/$TZ /etc/localtime && echo $TZ > /etc/timezone && apt update -y &&  apt upgrade -y && \
    apt install -y wget build-essential checkinstall  libreadline-gplv2-dev  libncursesw5-dev  libssl-dev  libsqlite3-dev tk-dev libgdbm-dev libc6-dev libbz2-dev libffi-dev zlib1g-dev && \
    cd /usr/src && \
    wget https://www.python.org/ftp/python/3.6.15/Python-3.6.15.tgz && \
    tar xzf Python-3.6.15.tgz && \
    cd Python-3.6.15 && \
    ./configure --enable-optimizations && \
    make altinstall

CMD ["/usr/local/bin/python3.6", "-V"]
beka ()
Ответ на: комментарий от qaqa

Образы для 3.6 уже не обновляются, если что

Если я не ошибаюсь, то в выше указанном 3.6-slim-buster версия 3.6.15. Куда уж новее?

Upd. Мои извинения, переходя из уведомлений принял ваш комментарий как ответ на свой, видно от жары.

vvn_black ★★★★★ ()
Последнее исправление: vvn_black (всего исправлений: 1)
Ответ на: комментарий от beka

Не подскажите, а правильно ли будет доустановить pip таким образом

RUN update-alternatives --install /usr/bin/python3 python3 /usr/local/bin/python3.6 1

RUN apt-get install -y python3-pip
RUN pip install numpy ...
?

Дело в том, что в логах начинает устанавливаться Python3.8:

RUN apt-get install -y python3-pip
 ---> Running in 3bf248f4b0ce
Reading package lists...
Building dependency tree...
Reading state information...
The following additional packages will be installed:
  libmpdec2 libpython3-dev libpython3-stdlib libpython3.8 libpython3.8-dev
  libpython3.8-minimal libpython3.8-stdlib mime-support python-pip-whl python3
  python3-dev python3-distutils python3-lib2to3 python3-minimal
  python3-pkg-resources python3-setuptools python3-wheel python3.8
  python3.8-dev python3.8-minimal
Suggested packages:
  python3-doc python3-tk python3-venv python-setuptools-doc python3.8-venv
  python3.8-doc binfmt-support
The following NEW packages will be installed:
  libmpdec2 libpython3-dev libpython3-stdlib libpython3.8 libpython3.8-dev
  libpython3.8-minimal libpython3.8-stdlib mime-support python-pip-whl python3
  python3-dev python3-distutils python3-lib2to3 python3-minimal python3-pip
  python3-pkg-resources python3-setuptools python3-wheel python3.8
  python3.8-dev python3.8-minimal
0 upgraded, 21 newly installed, 0 to remove and 0 not upgraded.

scisearcher ()
Ответ на: комментарий от vvn_black

Ну я, можно сказать, и вам тоже ответил. Не обновляются образы и, соответственно, остаются непофикшенные разные security issues. Если это некритично, тогда можно и старый образ использовать.

qaqa ★★ ()

Скорее всего, если стянуть пакет .deb из реп более старой версии, то его удастся установить при помощи dpkg. Возможно, придётся и перетащить часть зависимостей, или поломать зависимости…

Ещё можно установить более старую версию Ubuntu/Debian в systemd-nspawn контейнер, для работы они намного более удобны, нежели docker-контейнеры.

emorozov ()

new_mask = arr == x

Во-первых, зачем так писать? хотя бы

> new_mask = (arr == x)
Не, я просто за то, чтобы код максимально был похож на диаграммы и алгоритмы на русском из учебников. Серьёзно, они самые читаемые.

Во-вторых, какие типы у new_mask, arr и x? Хочу поэкспериментировать. Думаю, если найдём решение, будет больше смысла остаться на 3.8, чем вот так вот.

Я понимаю, когда в Pandas с очередной версией в скользящих окнах по числовому ряду запретили «мнимые хвосты» (например, окно размером 5, на выходе давало ряд на 4 числа короче, а раньше можно было в размер не парясь делать), и пришлось дофига кода переделывать... А здесь просто, наверно, какой-то синтаксис уточнили.

Shadow ★★★★★ ()
Последнее исправление: Shadow (всего исправлений: 2)
Ответ на: комментарий от scisearcher

то есть цель установить numpy? pip и так входит в состав питона, его просто нужно вызвать через python3.6 -m pip install numpy

FROM ubuntu:20.04

ENV TZ=Europe/Berlin

RUN ln -snf /usr/share/zoneinfo/$TZ /etc/localtime && echo $TZ > /etc/timezone && apt update -y &&  apt upgrade -y && \
    apt install -y wget build-essential checkinstall  libreadline-gplv2-dev  libncursesw5-dev  libssl-dev  libsqlite3-dev tk-dev libgdbm-dev libc6-dev libbz2-dev libffi-dev zlib1g-dev && \
    cd /usr/src && \
    wget https://www.python.org/ftp/python/3.6.15/Python-3.6.15.tgz && \
    tar xzf Python-3.6.15.tgz && \
    cd Python-3.6.15 && \
    ./configure --enable-optimizations && \
    make altinstall && \
    /usr/local/bin/python3.6 -m pip install --upgrade pip && \
    /usr/local/bin/python3.6 -m pip install numpy && \
    update-alternatives --install /usr/bin/python3 python3 /usr/local/bin/python3.6 1

CMD ["/usr/local/bin/python3.6", "-V"]

Но я еще раз повторюсь, что это только из-за спортивного интереса и лучше делать как предложил товарищ vvn_black

beka ()
Ответ на: комментарий от beka

Спасибо, большое! Все завелось. Мне скомпилить - больше нравиться )

scisearcher ()
Ответ на: комментарий от vvn_black

Да, это и есть использование докера по назначению. Удваиваю.

i586 ★★★★ ()
Для того чтобы оставить комментарий войдите или зарегистрируйтесь.