Jak mogę zainstalować inną wersję Pythona za pomocą apt-get?
Oczywiście zdaję sobie sprawę, że mogę zainstalować przy użyciu źródłowej tar-tar, jednak wolałbym nie instalować ze źródła i zamiast tego używać menedżera pakietów, ponieważ po to jest. Z pewnością gdzieś renomowane budują pliki .deb dla najnowszych wydań Pythona (dlaczego python.org nie jest poza mną), do których mogę się odwoływać.
Co muszę zrobić, aby się do nich odwoływać i jakie problemy mogą się pojawić podczas aktualizacji do następnej wersji?
Jeśli nie ma innego wyjścia niż budowanie ze źródła, czy istnieje pakiet (pseudo), który mogę zainstalować, który zapewni wszystkie niezbędne zależności bez konieczności znajdowania i instalowania każdego z nich osobno? Żebym nie dostał:
The necessary bits to build these optional modules were not found:
_bz2 _curses _curses_panel
_dbm _gdbm _lzma
_sqlite3 _ssl _tkinter
readline zlib
źródło
E: Couldn't find any package by regex 'python3.5'
i dlatego nie udało ci się zainstalować przezapt-get install python3.5
?Odpowiedzi:
Felix Krull prowadzi PPA, oferując praktycznie każdą wersję Pythona (poważnie, istnieje wersja 2.3.7 dla żywych ...) dla wielu wydań Ubuntu na https://launchpad.net/~deadsnakes/+archive/ubuntu/ppa .
Wykonuj zwykle:
Nie zastąpi twojego istniejącego,
python3.4
który nadal jest dowiązaniem symbolicznym jakopython3
.NIE zmieniaj dowiązania symbolicznego! Najwyraźniej istnieje wiele funkcji systemowych, które nie działają poprawnie z python3.5.
Próbowałem tego, a potem nie mogłem otworzyć terminala, aktualizatora oprogramowania, ...
Aktualizacja do Wily dostosuje meta-pakiet
python3
do wskazaniapython3.5
. Nie oczekuję żadnego uszkodzenia, ale w tym momencie zagraniczne repozytorium nie jest już potrzebne. Aby być naprawdę bezpiecznym, możesz wyczyścić PPA przed wykonaniem aktualizacji.źródło
wget https://bootstrap.pypa.io/get-pip.py; sudo python3.5 get-pip.py
dały mi działający pip dla Pythona 3.5, ale pip3.4 już nie działa. Jeśli ktoś wie lepiej, proszę o komentarz~$ vim ~/.bashrc
i dodać toalias python=python3.5
. następnie~$source ~/.bashrc
add-apt-repository: command not found
uruchom,apt-get install software-properties-common python-software-properties
aby zainstalowaćTen link do YouTube'a pomógł mi go zainstalować.
Kroki są następujące:
Aby sprawdzić, czy Python jest zainstalowany, wpisz
python3.5
:źródło
./configure --enable-optimizations
stackoverflow.com/questions/41405728/...apt-get install build-essential
Wystarczy wykonać następujące kroki (przetestowane):
Krok 1 - Zainstaluj wymagane pakiety
Użyj następującego polecenia, aby zainstalować wymagania wstępne dla Pythona przed jego zainstalowaniem.
Krok 2 - Pobierz Python 3.5.2
Pobierz Python za pomocą następującego polecenia z oficjalnej strony Python. Możesz również pobrać najnowszą wersję zamiast podanej poniżej.
Teraz rozpakuj pobrany pakiet.
Krok 3 - Skompiluj źródło Python
Użyj poniższego zestawu poleceń, aby skompilować kod źródłowy Pythona w systemie za pomocą altinstall.
make altinstall
służy do zapobiegania zamianie domyślnego pliku binarnego Pythona/usr/bin/python
.Krok 4 - Sprawdź wersję Python
Sprawdź najnowszą zainstalowaną wersję Pythona za pomocą poniższego polecenia.
Źródło .
źródło
sudo apt-get install libffi-dev
aby go rozwiązać.sudo apt-get install liblzma-dev
aby włączyć obsługę LZMA.O ile mi wiadomo, przynajmniej w kontenerze dokowanym można definitywnie
apt-get
python 3.Najpierw wpadłem na kontener ubuntu z kontenerem:
potem z jakiegoś powodu musiałem zaktualizować niektóre rzeczy z Ubuntu, więc zrobiłem to (w kontenerze):
a potem po prostu zainstalowałem Python3 i wygląda na to, że automatycznie otrzymał Python 3.5:
i przetestowanie, czy pip działa, pozwala pobrać coś:
wydaje mi się, że wszystko działa dobrze.
Ważna uwaga: wydaje się, że jeśli masz już zainstalowany Python 3.4, to
apt-get install python3
nie działa, ponieważ mówi, że już go masz. Wygląda na to, że był to jeden z moich problemów, ponieważ zaczynałem od obrazu dokera od tensorflow (w szczególnościgcr.io/tensorflow/tensorflow:latest-devel-py3
) i coś na tym obrazie (zakładam, że mają już Python 3.4, ale może coś innego) nie pozwoliło mi na aktualizację mój python, aby uzyskać python 3.5.kredyt: Odkryłem to, gdy zapytałem: https://stackoverflow.com/questions/42122826/can-one-use-python-3-5-in-a-docker-container-based-out-of-the -tensorflow-docker
Uwaga: można też po prostu zainstalować Anacondę. Na przykład dokera można zrobić:
z ich oficjalnej strony internetowej: https://hub.docker.com/r/continuumio/anaconda3/
To rozwiązanie instaluje Python 3.6, ale jestem pewien, że jeśli tam zajrzysz, możesz uzyskać Python 3.5, jeśli tego chcesz.
Uwaga: prawdopodobnie i tak powinieneś używać środowiska wirtualnego, takiego jak wirtualna env lub conda / anaconda, chyba że korzystasz z dokera. Chciałem tylko przypomnieć ludziom.
źródło
Istnieje wiele nowszych dystrybucji Pythona dostępnych do zainstalowania za pośrednictwem apt-get, wymienionych w Pakietach Ubuntu
jako przykład obecnie dostępne są następujące wersje:
python2.7
python3.2
python3.4
python3.5
python3.6
Dostępność różni się w zależności od wersji Ubuntu. Na przykład 3.5 jest dostępny dla Xenial, Yakkety i Zesty, a 3.6 jest dostępny dla Yakkety i Zesty, ale musisz włączyć repozytorium Wszechświata, jeśli nie można go uzyskać poprzez apt-get. Aby sprawdzić dostępność swojej wersji Ubuntu, sprawdź powyższe łącza.
Szybki podgląd wskazuje, że ta odpowiedź jest nadal aktualna, ponieważ PPA ma wartość 3.6, nawet dla Trusty.
źródło
Rozważałbym użycie środowisk wirtualnych zamiast instalowania wersji Pythona za pomocą apt-get.
Korzystanie ze środowisk wirtualnych, patrz tutaj, jest dobrą praktyką przy programowaniu w Pythonie. Pozwalają one odizolować środowisko Pythona od zainstalowanych w systemie wersji Pythona.
Ponadto nie musisz uzyskiwać dostępu do sudo podczas instalowania dowolnej biblioteki (przez pip itp.).
źródło
virtualenv -p
. Ale wysadził się w powietrze z „ImportError: nie można zaimportować nazwy„ HTTPSHandler ””.Conda jest aktywnie aktualizowana i pozwala na instalowanie wielu wersji Pythona w zarządzanych venvach bez nudy samodzielnego konfigurowania. Problemy z ścieżką rozszerzenia binarnego mogły zostać rozwiązane w wielu łańcuchach zależności / pip zarządzanych przez anakondę.
źródło