Как установить последнюю версию Python на Debian отдельно или обновить?

35

Я все еще новичок в Linux, поэтому я все еще пытаюсь понять, где находятся исполняемые файлы и их библиотеки и как устанавливать пакеты, поэтому у меня есть Debian Wheezy 7.3, который имеет следующие версии Python:

  • Python 2.7.3 (по умолчанию)
  • Python 2.6.8

Итак, в каталоге /usr/bin/есть эти файлы, которые я могу вызвать из терминала:

  • Python (который является ссылкой на Python2.7)
  • python2 (также ссылка на python2.7)
  • python2.6 (исполняемый Python 2.6.8)
  • python2.7 (исполняемый Python 2.7.3)

и в /usr/lib/основных папках:

  • python2.6
  • python2.7

В настоящее время последняя версия Python - 2.7.6, которую я хочу установить, но я не знаю как, я попытался использовать apt-get:

apt-get install python

это выводит python is already the newest version..

Так как я могу установить последнюю версию Python? на странице загрузки Python есть архив с исходным кодом, как я могу использовать его, чтобы установить его отдельно, например, иметь другую папку в /usr/lib/подобном python2.7.6и сделать pythonссылку /usr/bin/на новый исполняемый файл, или, возможно, обновить текущую версию, если она ничего не сломает ,

пьер
источник
Вы можете перенести Python 2.7.6 с тестирования / нестабильности и заменить его на 2.7.3. Это, скорее всего, не вызовет у вас никаких проблем. Если это произойдет, вы можете легко вернуться обратно.
Фахим Митха
Я даже не устанавливал его, свежую установку Debian и набираю «python» из командной строки, и я в оболочке python3.
замороженный

Ответы:

16

Вы , наверное , ищете virtualenvили pyenvили какой -либо другой способ без общесистемного установить Python. Метод, использующий APT (Advance Package Tool) и dpkg, гарантирует, что все части системы работают в гармонии, поэтому вы, возможно, захотите установить python по отдельному пути, скрытому от всех других программ, которые вы можете вызывать по желанию, что цель pyenv/ virtualenv. Это ответит, как установить последнюю версию python, не ломая систему .

Кстати, вы можете проверить последнюю версию python, которая представлена ​​Debian в Мэдисоне , в то время как последняя версия python 2 на дату указана вами:

  ~  apt-cache policy python
python:
  Installed: 2.7.5-5
  Candidate: 2.7.5-5
  Version table:
 *** 2.7.5-5 0
        500 http://ftp.us.debian.org/debian/ testing/main i386 Packages
        100 /var/lib/dpkg/status

(pythonbrew больше не поддерживается).

Braiam
источник
Хорошо, я установил pip и virtualenv как root, так как я могу создать виртуальную среду с новой версией Python? насколько я знаю, нам нужно, чтобы новая версия была установлена ​​первой, верно?
Пьер
1
@ Питер Я думаю, что первый шаг pyenv install 2.7.6. Вы можете проверить все версии, используяpyenv install -l
Braiam
27

Хорошо, после долгих поисков я решил собрать Python из исходного кода, поэтому я скачал сжатый архив с исходным кодом со страницы загрузки Python , теперь нам нужно установить build-essentialпакет, чтобы иметь возможность компилировать исходные файлы:

apt-get install build-essential

Также нам нужно установить эти пакеты разработки, которые требуются для некоторых модулей Python:

libbz2-dev
libsqlite3-dev
libreadline-dev
zlib1g-dev
libncurses5-dev
libssl-dev
libgdbm-dev

Затем мы извлекаем загруженный исходный файл:

tar zxf Python-2.7.6.tgz

тогда мы cdв извлеченный каталог:

cd Python-2.7.6

и следуйте инструкциям в документации по Python :

./configure --prefix=/opt/python
make
make install # <- in the docs but don't execute: use checkinstall

Я решил установить его в каталог, /opt/pythonкоторый я создал ранее, также я использовал пакет checkinstall для создания файла .deb, чтобы потом его можно было легко удалить, поэтому мы сначала его устанавливаем:

apt-get install checkinstall

и замените последнюю строку make installна:

checkinstall

Теперь у меня есть новая установка Python /opt/python/lib/python2.7и бинарный файл находится в/opt/python/bin/python2.7 .

теперь я могу запустить в командной строке, /opt/python/bin/python2.7чтобы использовать эту версию Python, также мы можем сделать ссылку на этот исполняемый файл, чтобы мы не вводили полный путь, я назвал его python2.7.6.

ln -s /opt/python/bin/python2.7 /usr/local/bin/python2.7.6

также каталог /opt/python/binбудет позже содержать другие исполняемые файлы, такие как pipи virtualenvлюбые другие установленные вами модули, чтобы мы могли добавить его в переменную окружения PATH, отредактировать ~/.profileи добавить эту строку:

PATH="$PATH:/opt/python/bin"

и запустить:

source ~/.profile

Я добавил путь до конца, потому что он содержит имена исполняемых файлов, подобные тем, которые есть в /usr/binlike python, python2и python2.7поэтому мы сохраняем более высокий приоритет для /usr/bin.

пьер
источник
Теперь, знаете ли вы, как настроить новый Python для просмотра модулей, которые были установлены через apt-get?
elsurudo
К сожалению, для Python 2.6 компиляция из исходного кода не работает должным образом в Debian 8 (Jessie), но я обнаружил, по крайней мере для Raspberry Pi, что мне удалось использовать более старые пакеты из package.debian.org . Порядок, предполагающий, что основа сборки уже существует, выглядит примерно так: libdb, python2.6-minimal, python2.6, libpython2.6, python2-6-dev, но dpkg -iсообщит вам, что нужно.
Чарли Кларк
1
@elsurudo Это не имеет смысла, потому что модули могут не поддерживаться в вашей новой версии. Если вам нужен полный контроль над вашим Python (как при компиляции из исходного кода), вам также необходимо установить модули отдельно.
tripleee
-1

вы можете использовать:

aptitude install python3.5  

или, если вы не установили aptitude, вы можете установить его, используя:

apt-get install aptitude
Джон
источник