Як встановити останню версію Python на Debian окремо або оновити?


35

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

  • Python 2.7.3 (за замовчуванням)
  • Пітон 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/основних папках:

  • пітон2.6
  • пітон2.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. Це, швидше за все, не викличе у вас жодних проблем. Якщо це станеться, ви можете легко повернути назад.
Faheem Mitha

Я навіть не встановив його, свіжа установка Debian і введіть "python" з командного рядка, і я в оболонці python3.
заморожений

Відповіді:


16

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

BTW, ви можете перевірити останню версію 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 більше не підтримується).


Ок, я встановив pip і virtualenv як root, так як я можу створити віртуальне середовище з новою версією Python? наскільки я знаю, нам потрібна нова версія, щоб вона була встановлена ​​спочатку правильно?
П’єр

1
@ Peter Я думаю, що перший крок 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/binподібних python, python2і python2.7тому ми зберігаємо більш високий пріоритет /usr/bin.


Тепер ви не знаєте, як налаштувати новий python, щоб побачити модулі, встановлені через apt-get?
elsurudo

На жаль для Python 2.6, компіляція з джерела не працює належним чином на Debian 8 (Jessie), але я виявив, принаймні, для Raspberry Pi, що мені вдалося використовувати більш старі пакети з пакети.debian.org . Порядок, якщо припустити, що склалися основи build, є чимось на зразок libdb, python2.6-minimal, python2.6, libpython2.6, python2-6-dev, але dpkg -iпідкаже, що потрібно.
Чарлі Кларк

1
@elsurudo Це не мало б сенсу, бо модулі можуть бути непідтримувані у вашій новій версії. Якщо ви хочете повний контроль над своїм Python (як це робиться під час компіляції з джерела), ви також хочете встановлювати модулі окремо.
tripleee

-1

Ви можете використовувати:

aptitude install python3.5  

або, якщо ви не встановили придатність, ви можете встановити його за допомогою:

apt-get install aptitude
Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.