Jak zainstalować najnowszą wersję Python na Debianie osobno lub uaktualnić?


35

Wciąż jestem nowy w Linuksie, więc wciąż próbuję zrozumieć, gdzie są pliki wykonywalne i ich biblioteki oraz jak instalować pakiety, więc mam Debian Wheezy 7.3, który ma te wersje Pythona:

  • Python 2.7.3 (domyślnie)
  • Python 2.6.8

Więc w katalogu /usr/bin/są te pliki, które mogę wywołać z terminala:

  • python (który jest linkiem do python2.7)
  • python2 (również link do python2.7)
  • python2.6 (plik wykonywalny Python 2.6.8)
  • python2.7 (plik wykonywalny Python 2.7.3)

oraz w /usr/lib/głównych folderach:

  • python2.6
  • python2.7

Obecnie najnowszą wersją Pythona jest 2.7.6, którą chcę zainstalować, ale nie wiem jak, próbowałem użyć apt-get:

apt-get install python

wychodzi python is already the newest version..

Jak mogę zainstalować najnowszą wersję Pythona? na stronie pobierania Pythona znajduje się źródłowy plik archiwum, w jaki sposób mogę go użyć, aby zainstalować go osobno, np. mając inny folder w /usr/lib/podobny python2.7.6i ustawić pythonlink /usr/bin/wskazujący nowy plik wykonywalny, lub może zaktualizować bieżącą wersję, jeśli nic nie zepsuje .


Możesz cofnąć import Pythona do wersji 2.7.6 z wersji testowej / niestabilnej i zastąpić go obecną wersją 2.7.3. Najprawdopodobniej nie spowoduje to żadnych problemów. Jeśli tak, możesz łatwo cofnąć.
Faheem Mitha

Nawet go nie zainstalowałem, nowa instalacja Debiana i wpisz „python” z wiersza poleceń i jestem w powłoce python3.
frozenjim

Odpowiedzi:


16

Prawdopodobnie szukasz virtualenvlub pyenvinnej metody niesystemowej do zainstalowania Pythona. Metoda wykorzystująca APT (Advance Package Tool) i dpkgzapewnia, że ​​wszystkie części systemu działają zgodnie, więc może chcesz zainstalować Pythona w oddzielnej ścieżce, ukrytej przed wszystkimi innymi programami, które możesz wywoływać do woli, czyli cel pyenv/ virtualenv. To wyjaśnia, jak zainstalować najnowszą wersję Pythona bez uszkodzenia systemu .

BTW, możesz sprawdzić najnowszą wersję Pythona Debiana w Madison , podczas gdy najnowsza wersja Pythona 2 na dzień jest tą, którą wskazałeś:

  ~  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 nie jest już utrzymywany).


ok zainstalowałem pip i virtualenv jako root, więc jak mogę stworzyć środowisko wirtualne z nową wersją Pythona? o ile wiem, potrzebujemy najpierw zainstalować nową wersję, prawda?
Pierre

1
@Peter Myślę, że pierwszym krokiem jest pyenv install 2.7.6. Możesz sprawdzić wszystkie wersje za pomocąpyenv install -l
Braiam

27

Ok po wielu poszukiwaniach postanowiłem zbudować Pythona ze źródła, więc ściągnąłem skompresowany plik źródłowy ze strony pobierania Pythona , teraz musimy zainstalować build-essentialpakiet, aby móc skompilować pliki źródłowe:

apt-get install build-essential

musimy także zainstalować te pakiety programistyczne, które są wymagane dla niektórych modułów Python:

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

następnie wyodrębniamy pobrany plik źródłowy:

tar zxf Python-2.7.6.tgz

następnie cdprzechodzimy do rozpakowanego katalogu:

cd Python-2.7.6

i postępuj zgodnie z instrukcjami w dokumentacji Python :

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

Zdecydowałem się zainstalować go w katalogu, /opt/pythonktóry wcześniej utworzyłem, a także użyłem pakietu checkinstall , aby utworzyć plik .deb, dzięki czemu mogę go później łatwo odinstalować, dlatego najpierw go instalujemy:

apt-get install checkinstall

i zamień ostatni wiersz na make install:

checkinstall

teraz mam nową instalację Pythona /opt/python/lib/python2.7i plik binarny jest w /opt/python/bin/python2.7.

teraz mogę uruchomić w linii poleceń, /opt/python/bin/python2.7aby użyć tej wersji Pythona, możemy również utworzyć łącze do tego pliku wykonywalnego, aby nie wpisywać pełnej ścieżki, nazwałem ją python2.7.6.

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

również katalog /opt/python/binbędzie zawierał później inne pliki wykonywalne, takie jak pipi virtualenvlub inne moduły, które zainstalujesz, abyśmy mogli dodać go do zmiennej środowiskowej PATH, edytować ~/.profilei dodawać ten wiersz:

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

i biegnij:

source ~/.profile

Dołączyłem ścieżkę do końca, ponieważ zawiera ona nazwy wykonywalne, takie jak te w /usr/binlike python, python2i python2.7dlatego zachowujemy wyższy priorytet /usr/bin.


Czy wiesz, jak skonfigurować nowego Pythona, aby wyświetlał moduły zainstalowane za pomocą apt-get?
elsurudo

Niestety w Pythonie 2.6 kompilacja ze źródła nie działa poprawnie na Debianie 8 (Jessie), ale odkryłem, przynajmniej dla Raspberry Pi, że mogłem używać starszych pakietów z pakietów.debian.org . Kolejność, przy założeniu, że niezbędne są już kompilacje, jest taka jak libdb, python2.6-minimal, python2.6, libpython2.6, python2-6-dev, ale dpkg -ipowie ci, co jest potrzebne.
Charlie Clark,

1
@elsurudo To nie miałoby sensu, ponieważ moduły mogą być nieobsługiwane w nowej wersji. Jeśli chcesz mieć pełną kontrolę nad swoim Pythonem (tak jak robisz to podczas kompilacji ze źródła), będziesz także chciał osobno instalować moduły.
tripleee

-1

możesz użyć:

aptitude install python3.5  

lub, jeśli nie zainstalowałeś aptitude, możesz zainstalować go za pomocą:

apt-get install aptitude
Korzystając z naszej strony potwierdzasz, że przeczytałeś(-aś) i rozumiesz nasze zasady używania plików cookie i zasady ochrony prywatności.
Licensed under cc by-sa 3.0 with attribution required.