Я хотел бы установить последнюю версию Python, которая на момент написания этого сообщения была 3.6. Однако в репозитории говорится, что Python 3.4.2 является самой новой версией.
Я пробовал:
$ sudo apt-get update
$ sudo apt-get install python3
python3 is already the newest version.
$ python -V
Python 3.4.2
Чтобы обновить Python 3.6 на моей рабочей станции Windows, я просто скачал exe, несколько раз нажал "next", и все готово. Какова правильная и официально принятая процедура установки Python 3.6 на Debian Jessie?
Вы можете установить 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:
Редакционное Примечание: Пожалуйста, прочтите комментарии к этому ответу.
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
Вы просили:
правильное и официально принятая процедура
но я должен отметить, что это не официальное решение, потому что он использует репозитории тестирования.
Официальная рекомендация "Вы не'т действительно нужны новые по"
Дон'т страдают от синдрома блестящие новые вещи - DontBreakDebian | Вики
Большинство советов на эту страницу направлена на что делать, если вы хотите, чтобы программное обеспечение было доступно общесистемного, но я не'т считаю, что's необходимый в данном случае.
Если вы загрузили файлы исходного кода на языке Python, построения переводчик 3.6 использовании--префикс контролировать, где она заканчивается, а затем использовать виртуальное окружениес параметром
--питон`, затем вы можете использовать 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
Если вы'ре собирается сделать это, вы можете хотеть рассмотреть --включить-оптимизация флагом
в скрипт на Python настроить
, который, кажется, чтобы включить некоторые функции, такие как профильной оптимизации. Это увеличивает время сборки, но, кажется, результат в быстрый переводчик на 10% и так по мнению некоторых критериев.
Возможно, вы захотите взглянуть на pyenv
: https://github.com/yyuu/pyenv . Цитирую учебник по pyenv
в Amaral Lab:
Ранее известный как Pythonbrew, pyenv позволяет вам изменять глобальную версию Python, установить несколько версий Python, задать каталог (проект)-специфические версии Python, а также создавать/управлять виртуальными версиями Python. окружениями Python ("virtualenvs"). Все это делается на *NIX-стиле машинах (Linux и OS X) без зависимости от самого Python и это работает на уровне пользователя - не требуется никаких команд sudo.
Мой предпочтительный способ заключается в использовании Анаконда или Miniconda, чтобы сохранить последнюю версию Python и установленных пакетов в Debian.
Это's все хранится аккуратно в папку, что делает его очень легко удалить позже, если вы пожелаете. Установщик также добавляет путь к bashrc и (добавьте сами, если вы используете другую оболочку).
Он поставляется с Pip, а также стадион conda что другой менеджер пакетов, чем может быть полезен для более сложных pacakges, как и NumPy. Miniconda голый установите костей, и Анаконда-это полная установка с множеством пакетов, предназначенных в основном для анализа данных.
Быстро:
wget https://repo.continuum.io/miniconda/Miniconda3-latest-Linux-x86_64.sh
bash Miniconda3-latest-Linux-x86_64.sh
Прочитайте и примите условия лицензионного, если вы'повторно не используете bash добавить путь: экспорт путь=то"/Главная/пользователя$user/miniconda3/ОГРН:$путь"
в
Тест:
$ python --version
Python 3.6.0 :: Continuum Analytics, Inc.
Установка из PyPi:
# pip install fava
Установить стадион conda:
# conda install numpy
Когда вы хотите удалить его, удалить папку `~/miniconda3 и путь в свой bashrc следующее.
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 для установки в домашний каталог.
С этим
sudo echo "http://ftp.fr.debian.org/debian testing main" >> /etc/apt/sources.list
sudo apt-get update
sudo apt-get install -y python3.6
Успешно работают.
Подробнее : набор питон3.6 по умолчанию
sudo alias python=/usr/bin/python3.6
Прямо сейчас :
python --version
Python 3.6
Питон 3.6 (хотя ник1
) только что прибыл в Debian экспериментальной. Я был в состоянии успешно построить это на Debian стабильный (Джесси). Смотрите финальный этапы построения наклеенный ниже.
Однако, это не'Т означает, что она будет успешной установки и не вызвать проблемы. Разумным шагом было бы проверить его на тестовой ВМ стабильной. Если кому-то интересно, я могу дать ему попробовать - или кто-то еще мог попробовать.
Правильная версия должна вскоре прибыть в 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.
По состоянию на сентябрь 2019 года, последний дебиан стабильный (бустер) имеет на Python 3.7. Поэтому правильное и официально принятая процедура теперь будет обновление до Debian Бастер.