Odpowiedzi:
Jeśli korzystasz z Ubuntu 14.04 lub 16.04, możesz skorzystać z deadsnakes PPA Felixa Krulla pod adresem https://launchpad.net/~deadsnakes/+archive/ubuntu/ppa :
sudo add-apt-repository ppa:deadsnakes/ppa
sudo apt-get update
sudo apt-get install python3.6
Alternatywnie możesz użyć PPA J Fernyhougha na https://launchpad.net/~jonathonf/+archive/ubuntu/python-3.6 :
sudo add-apt-repository ppa:jonathonf/python-3.6
sudo apt-get update
sudo apt-get install python3.6
Jeśli używasz Ubuntu 16.10 lub 17.04, to Python 3.6 znajduje się w repozytorium wszechświata, więc możesz po prostu uruchomić:
sudo apt-get update
sudo apt-get install python3.6
Aby wywołać interpreter języka Python 3.6, uruchom python3.6
.
Ubuntu 17.10 i 18.04 są już domyślnie wyposażone w Python 3.6. Po prostu biegnij, python3
aby go przywołać.
dict
który pojawia się w rzadkich przypadkach).
sudo apt remove python3.5
itp.; Python jest bardziej wbudowany w Ubuntu, niż mogłoby się wydawać, i możesz przerwać instalację Ubuntu. Jeśli chceszpython3
zmapowaćpython3.6
, utwórz link symboliczny!
python3.6-pip
pakietu, więc curl https://bootstrap.pypa.io/get-pip.py | sudo python3.6
instalowałem pip
.
ppa:jonathonf/python-3.6
przybył ze zepsutą pipą i nie ma easy_install 14.04. Jednak udało mi się to naprawić, instalując easy_install, a następnie ponownie instalując pip za pośrednictwem curl https://bootstrap.pypa.io/ez_setup.py -o - | python3.6 && python3.6 -m easy_install pip
na wypadek, gdyby ktoś
pip
z instalacją ppa:jonathonf/python-3.6
. Z drugiej strony ppa:deadsnakes/ppa
działał bezbłędnie ( apt-get install python3.6 python3.6-venv -y
).
Polecam pyenv aby rozwiązać swoje nieszczęścia. Nie używać aptitude, i ma obejmować „budowanie to sam”, ale jest w pełni zautomatyzowany . Możesz zbudować i zainstalować nową (lub starą) wersję Pythona, po prostu mówiąc pyenv install 3.6.0
. Wszystko działa jako użytkownik, więc nie musisz się martwić o zepsucie Pythona używanego przez sam Ubuntu.
Dodatkowo odpowiedź na pytanie uzupełniające „Jak zainstalować Python 3.7 za pomocą apt-get?” ma taką samą odpowiedź: pyenv update; pyenv install 3.7.0
. Zasadniczo będzie działać tego samego dnia wydania, ponieważ nie trzeba czekać, aż ktoś inny zapakuje go dla Ubuntu. Zobacz wszystkie wersje, które możesz zainstalowaćpyenv install --list
Zainstaluj narzędzia i nagłówki potrzebne do zbudowania CPythons (egzotyczne pytony, takie jak PyPy lub Jython, mogą mieć inne zależności). Git jest używany przez pyenv, a także umożliwia kompilacje / instalacje gałęzi źródłowych, więc możesz zainstalować cokolwiek 3.8 w tej chwili, tj. Główną gałąź CPython świeżo z GitHub:
sudo apt-get install -y git
sudo apt-get install -y build-essential libbz2-dev libssl-dev libreadline-dev \
libffi-dev libsqlite3-dev tk-dev
# optional scientific package headers (for Numpy, Matplotlib, SciPy, etc.)
sudo apt-get install -y libpng-dev libfreetype6-dev
Uruchom skrypt instalatora (instaluje pyenv i kilka bardzo przydatnych wtyczek pyenv autorstwa oryginalnego autora; więcej informacji tutaj )
curl -L https://github.com/pyenv/pyenv-installer/raw/master/bin/pyenv-installer | bash
Dodaj wiersze inicjujące do swojego ~/.profile
lub ~/.bashrc
(wspomina o tym na końcu skryptu instalacyjnego):
export PATH="$HOME/.pyenv/bin:$PATH"
eval "$(pyenv init -)"
eval "$(pyenv virtualenv-init -)"
Uruchom ponownie powłokę (zamknij i otwórz lub exec $SHELL
) lub ponownie załaduj skrypt profilu. (z np. source ~/.bashrc
)
Gotowy!
Aby nie dotykać systemowego Pythona (ogólnie zły pomysł; usługi na poziomie systemu operacyjnego mogą polegać na określonych wersjach bibliotek itp.) Utwórz własne środowisko, to proste! Nawet lepiej, nie sudo
, za to lub pip
instaluje!
Zainstaluj preferowaną wersję języka Python (spowoduje to pobranie źródła i kompilację dla użytkownika, nie wymaga wprowadzania danych)
pyenv install 3.6.0
Zrób to jako virtualenv, aby później móc tworzyć inne
pyenv virtualenv 3.6.0 general
Uczyń go globalnie aktywnym (dla twojego użytkownika)
pyenv global general
Rób co chcesz z Pythonem / pipem itp. To jest twoje.
Jeśli chcesz później wyczyścić biblioteki, możesz usunąć virtualenv ( pyenv uninstall general
) lub utworzyć nową ( pyenv virtualenv 3.6.0 other_proj
). Możesz także mieć środowiska aktywne dla poszczególnych katalogów: pyenv local other_proj
upuści .python-version
plik do bieżącego folderu i za każdym razem, gdy wywołasz z niego lub pod nim narzędzia Pythona lub pipa, zostaną one zablokowane przez pyenv.
bash: pyenv: command not found
, fish: Unknown command 'pyenv'
$PATH
, powinien być jeden wpis, który kończy się czymś w rodzaju .pyenv/bin
. Jeśli go brakuje, upewnij się, że postępowałeś zgodnie z krokami 3 i 4 (zrestartuj powłokę) w części Zainstaluj pyenv powyżej.pyenv: no such command 'virtualenv'
pyenv commands
.rm -r ~/.cache/pip/wheels/
.)
pyenv
musi być zainstalowany dla każdego użytkownika, który potrzebuje Pythona? A jeśli mam 3 użytkowników, którzy potrzebują tej samej wersji Python 3.6, to będzie musiał ją skompilować 3 razy i zajmie 3x miejsca na dysku? Jeśli to prawda, to jest do bani…: /
/opt
cokolwiek lub dodać kilka dowiązań symbolicznych /bin
. Uważam, że jest on wyjątkowo użyteczny; użytkownicy nie potrzebują sudo (innego niż libs). Miejsce na dysku jest tanie.
To zależy od używanej wersji Ubuntu.
Ponieważ Python 3.6 jest zainstalowany w uniwersalnym repozytorium Ubuntu 16.10 i Ubuntu 17.04, możesz bezpośrednio zainstalować Python 3.6 z repozytorium. Wystarczy użyć poniższych poleceń:
sudo apt update
sudo apt install python3.6
Istnieją dwa sposoby instalacji Python3.6 na Ubuntu 16.04
Zainstaluj niezbędne zależności, pobierz kod źródłowy Python 3.6, a następnie zbuduj środowisko i zainstaluj
sudo apt install build-essential checkinstall
sudo apt install libreadline-gplv2-dev libncursesw5-dev libssl-dev libsqlite3-dev tk-dev libgdbm-dev libc6-dev libbz2-dev
wget https://www.python.org/ftp/python/3.6.0/Python-3.6.0.tar.xz
tar xvf Python-3.6.0.tar.xz
cd Python-3.6.0/
./configure
sudo make altinstall
Możesz zainstalować Python 3.6 z PPA, używając poniższych poleceń
sudo add-apt-repository ppa:jonathonf/python-3.6
sudo apt update
sudo apt install python3.6
Jeśli Python 3.6 jest poprawnie zainstalowany, możesz wywołać interpreter Pythona, uruchamiając go python3.6
w terminalu.
Mam nadzieję, że to pomoże. Jeśli masz jakieś problemy, możesz sprawdzić ten post na blogu tutaj .
Alternatywną drogą, jeśli nie możesz znaleźć żadnych działających repozytoriów, byłbyś w stanie skompilować się ze źródła. Możesz znaleźć kod źródłowy na stronie pobierania . Następnie pobierz i rozpakuj archiwum; na przykład dla Python-3.6.1.tgz
.
Proces rozpakowywania pliku tgz jest następujący:
tar -xvzf /path/to/yourfile.tgz
Gdy znajdziesz się w ścieżce pliku, do którego plik został rozpakowany, uruchom:
./configure
make
make altinstall
Mam nadzieję, że to rozwiąże problem.
(id preferably not build it on my own)
. Może lepiej pójść tą apt
drogą, jeśli to możliwe.
W przypadku Ubuntu 15.10 zainstalowałem go pomyślnie przy użyciu tej metody:
sudo add-apt-repository ppa:jonathonf/python-3.6
Ale edytowałem ten plik:
sudo vi /etc/apt/sources.list.d/jonathonf-ubuntu-python-3_6-wily.list
I zmieniłem przebiegle na zaufane, a potem:
sudo apt-get update
sudo apt-get install python3.6
Najpierw postępuj zgodnie z innymi odpowiedziami, aby zainstalować Python 3.6 lub 3.7. Następnie, jeśli chcesz zainstalować pakiety PyPI takich jak OpenEXR pośrednictwem pip
można uzyskać kilka błędów. Niektóre z nich (np. Pakiet PyPi OpenEXR) mogą zostać rozwiązane przez zainstalowanie pakietu programistycznego Python dla nowo zainstalowanego Pythona. Można to zrobić za pomocą następujących czynności:
sudo apt-get install python3.6-dev
lub
sudo apt-get install python3.7-dev
Być może sugerowanie Condy nie jest złym pomysłem. Myślę, że jest to co najmniej łatwiejsze niż używanie pyenv. Ale może zależy to od tego, co zamierzasz zrobić z Pythonem, ponieważ myślę, że z Condą możesz skończyć z dodatkowymi pakietami.
EDIT : To chyba warto wspomnieć, że po zainstalowaniu domyślną wersję Conda za Pythona, można zainstalować wersję trzeba, tu 3.6, używając conda
jak
conda install python==3.6
aptitude
, uruchomaptitude search python3