Как установить Python 3.6?

Если мне что-то не хватает, вы можете просто использовать find :

find . -maxdepth 1 -mtime +1 -type f -exec mv {} arc/ \;

Это найдет любой файл старше 1 дня в текущем каталоге и переместите его в каталог "arc".

110
06.03.2018, 15:35
8 ответов

Редакционное примечание:
Пожалуйста, прочтите комментарии к этому ответу.


Debian не имеет Python 3.6 в своих репозиториях, но при тестировании он есть.

$ sudo nano /etc/apt/sources.list
# add
deb http://ftp.de.debian.org/debian testing main
$ echo 'APT::Default-Release "stable";' | sudo tee -a /etc/apt/apt.conf.d/00local
$ sudo apt-get update
$ sudo apt-get -t testing install python3.6
$ python3.6 -V

Вы просили:

надлежащую и официально принятую процедуру

, но я должен отметить, что это не официальное решение, потому что оно использует тестовые репозитории.

67
27.01.2020, 19:29

Возможно, вы захотите взглянуть на pyenv : https://github.com/yyuu/pyenv . Цитирую учебник pyenv на Amaral Lab:

Ранее известный как Pythonbrew, pyenv позволяет вам изменять глобальную версию Python. версию Python, установить несколько версий Python, установить каталог (проект)-специфические версии Python, и да, создавать/управлять виртуальными окружения Python ("virtualenvs"). Все это делается на машинах в стиле *NIX машинах (Linux и OS X) без зависимости от самого Python, и это работает на уровне пользователя - нет необходимости в командах sudo.

13
27.01.2020, 19:29

Python 3.6 (хотя rc1 ) только что прибыл в экспериментальный Debian. Мне удалось успешно собрать это на стабильной версии Debian (jessie). Смотрите последние шаги сборки, вставленные ниже.

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

Соответствующая версия выпуска должна скоро появиться в нестабильном Debian.

dh_builddeb -a
dpkg-deb: building package `python3.6' in `../python3.6_3.6.0~rc1-1_amd64.deb'.
dpkg-deb: building package `python3.6-venv' in `../python3.6-venv_3.6.0~rc1-1_amd64.deb'.
dpkg-deb: building package `libpython3.6-stdlib' in `../libpython3.6-stdlib_3.6.0~rc1-1_amd64.deb'.
dpkg-deb: building package `python3.6-minimal' in `../python3.6-minimal_3.6.0~rc1-1_amd64.deb'.
dpkg-deb: building package `libpython3.6-minimal' in `../libpython3.6-minimal_3.6.0~rc1-1_amd64.deb'.
dpkg-deb: building package `libpython3.6' in `../libpython3.6_3.6.0~rc1-1_amd64.deb'.
dpkg-deb: building package `python3.6-dev' in `../python3.6-dev_3.6.0~rc1-1_amd64.deb'.
dpkg-deb: building package `libpython3.6-dev' in `../libpython3.6-dev_3.6.0~rc1-1_amd64.deb'.
dpkg-deb: building package `python3.6-dbg' in `../python3.6-dbg_3.6.0~rc1-1_amd64.deb'.
dpkg-deb: building package `libpython3.6-dbg' in `../libpython3.6-dbg_3.6.0~rc1-1_amd64.deb'.
 dpkg-genchanges  >../python3.6_3.6.0~rc1-1_amd64.changes
dpkg-genchanges: including full source code in upload
 dpkg-source --after-build python3.6-3.6.0~rc1
dpkg-buildpackage: full upload (original source is included)
Now running lintian...
W: python3.6 source: newer-standards-version 3.9.8 (current is 3.9.6)
N: 56 tags overridden (26 errors, 27 warnings, 3 info)
Finished running lintian.
2
27.01.2020, 19:29

В репозиториях Debian нет Python 3.6. Вот снимок текущего статуса Python3:

wheezy (oldstable) (python): interactive high-level object-oriented language (default python3 version)
    3.2.3-6: all
jessie (stable) (python): interactive high-level object-oriented language (default python3 version)
    3.4.2-2: amd64 arm64 armel armhf i386 mips mipsel powerpc ppc64el s390x
stretch (testing) (python): interactive high-level object-oriented language (default python3 version)
    3.5.1-4: amd64 arm64 armel armhf i386 mips mips64el mipsel ppc64el s390x
sid (unstable) (python): interactive high-level object-oriented language (default python3 version)
    3.5.1-4: alpha amd64 arm64 armel armhf hppa hurd-i386 i386 kfreebsd-amd64 kfreebsd-i386 m68k mips mips64el mipsel powerpc powerpcspe ppc64 ppc64el s390x sh4 sparc64 x32

Вы можете проверить это здесь .

Вы можете установить 3.6 либо из исходного кода, либо используя что-то вроде Linuxbrew для установки в домашний каталог.

3
27.01.2020, 19:29

Вы можете установить Python-3.6 на Debian 8 следующим образом:

wget https://www.python.org/ftp/python/3.6.9/Python-3.6.9.tgz
tar xvf Python-3.6.9.tgz
cd Python-3.6.9
./configure --enable-optimizations --enable-shared
make -j8
sudo make altinstall
python3.6

Рекомендуется использовать make altinstall согласно официальному сайту.

Если вы хотите, чтобы pip был включен, вам нужно добавить --with-ensurepip=install в вызов configure. Более подробную информацию смотрите в ./configure --help.

Предупреждение: make install может перезаписать или замаскировать двоичный файл python. make altinstall рекомендуется вместо make install, поскольку он устанавливает только exec_prefix/bin/pythonversion.

Некоторые пакеты должны быть установлены, чтобы избежать некоторых известных проблем, см: Общие проблемы сборки (обновлено)

Ubuntu/Debian:

sudo apt-get install -y make build-essential libssl-dev zlib1g-dev libbz2-dev \
libreadline-dev libsqlite3-dev wget curl llvm libncurses5-dev libncursesw5-dev \
xz-utils tk-dev libffi-dev liblzma-dev

Альтернатива libreadline-dev:

sudo apt install libedit-dev

Fedora/CentOS/RHEL (aws ec2):

sudo yum install zlib-devel bzip2 bzip2-devel readline-devel sqlite sqlite-devel \
openssl-devel xz xz-devel libffi-devel

Альтернатива openssl-devel:

sudo yum install compat-openssl10-devel --allowerasing

Обновление

Вы можете скачать последнюю версию python-x.y.z.tar.gz с здесь.

Чтобы установить версию python по умолчанию и легко переключаться между ними, вам нужно обновить update-alternatives с помощью нескольких версий python.

Допустим, вы установили python3.7 на debian stretch, используйте команду whereis python, чтобы найти двоичный файл (*/bin/python). например:

/usr/local/bin/python3.7
/usr/bin/python2.7
/usr/bin/python3.5

Добавьте версии python:

update-alternatives --install /usr/bin/python python /usr/local/bin/python3.7 50
update-alternatives --install /usr/bin/python python /usr/bin/python2.7 40
update-alternatives --install /usr/bin/python python /usr/bin/python3.5 30

Версия python3. 7 с приоритетом 50 теперь ваш python по умолчанию, python -V выведет:

Python 3.7.0b2

Для переключения между ними используйте:

update-alternatives --config python

Пример вывода:

There are 3 choices for the alternative python (providing /usr/bin/python).

  Selection    Path                      Priority   Status
------------------------------------------------------------
* 0            /usr/local/bin/python3.7   50        auto mode
  1            /usr/bin/python2.7         40        manual mode
  2            /usr/bin/python3.5         30        manual mode
  3            /usr/local/bin/python3.7   50        manual mode

Press <enter> to keep the current choice[*], or type selection number: 
191
27.01.2020, 19:29

Официальная рекомендация: «Вам на самом деле не нужно более новое программное обеспечение»

Не страдайте синдромом новеньких новинок - DontBreakDebian | Debian Wiki

Большая часть советов на этой странице ориентирована на то, что делать, если вы хотите, чтобы программное обеспечение было доступно для всей системы, но я не думаю, что в данном случае это необходимо.

Если вы извлекаете исходные коды Python, создайте интерпретатор 3.6, используя префикс - , чтобы контролировать, где он заканчивается, а затем используйте virtualenv с - python , то вы можете использовать python 3.6, не влияя ни на что за пределами вашего проекта.

Процесс может выглядеть примерно так:

$ cd ~
$ mkdir pythonroot
$ mkdir opt
$ mkdir app
$ cd opt
$ wget <python tarball>
$ tar -xvf <python tarball>
$ cd python-3.6
$ ./configure --prefix="$HOME"/pythonroot
$ make
$ make install
$ cd ~
$ cd app
$ virtualenv venv --python ~/pythonroot/bin/python
$ . venv/bin/activate
[venv]$ which python
/home/<user>/pythonroot/bin/python

Если вы собираетесь это сделать, вы можете рассмотреть - enable-optimizations флаг в Python Сценарий configure , который, кажется, включает некоторые функции, такие как оптимизация на основе профиля. Это увеличивает время сборки, но, судя по некоторым тестам, приводит к более быстрому интерпретатору примерно на 10%.

37
27.01.2020, 19:29

Я предпочитаю использовать Anaconda или Miniconda , чтобы сохранить последнюю версию python и пакетов, установленных в Debian.

Все это аккуратно хранится в папке, которую очень легко удалить позже, если вы захотите. Установщик также добавляет путь к вашему bashrc (, добавьте его сами, если используете другую оболочку ).

Он поставляется с pip, а также с conda, который является еще одним менеджером пакетов, который может быть полезен для более сложных пакетов, таких как numpy. Miniconda — это простая установка, а Anaconda — это полная установка со многими пакетами, в первую очередь предназначенными для анализа данных.

Быстро:

wget https://repo.continuum.io/miniconda/Miniconda3-latest-Linux-x86_64.sh
bash Miniconda3-latest-Linux-x86_64.sh

Прочитайте и примите лицензию, если вы не используете путь добавления bash:export PATH="/home/$USER/miniconda3/bin:$PATH"

Тест:

$ python --version
Python 3.6.0 :: Continuum Analytics, Inc.

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

# pip install fava

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

# conda install numpy

Если вы хотите его удалить, удалите папку ~/miniconda3и путь в файле bashrc.

11
27.01.2020, 19:29

По состоянию на сентябрь 2019 года последняя стабильная версия Debian (buster )имеет версию python 3.7. Таким образом, правильной и официально принятой процедурой теперь будет обновление до debian buster .

1
27.01.2020, 19:29

Теги

Похожие вопросы