Ik'heb de normale manier geprobeerd, sudo apt-get install python3.6
, maar... wel... dat werkte niet'en.
Dus, hoe zou ik het aanpakken? (Ik'bouw het liever niet in mijn eentje)
Ik'gebruik Ubuntu 16.04.
Als je Ubuntu 14.04 of 16.04 gebruikt, kun je Felix Krull's deadsnakes PPA gebruiken op https://launchpad.net/~deadsnakes/+archive/ubuntu/ppa:
sudo add-apt-repository ppa:deadsnakes/ppa
sudo apt-get update
sudo apt-get install python3.6
Als alternatief kunt u J Fernyhough's PPA gebruiken op 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
Als u Ubuntu 16.10 of 17.04 gebruikt, dan zit Python 3.6 in de universum repository, dus u kunt gewoon draaien:
sudo apt-get update
sudo apt-get install python3.6
Om de Python 3.6 interpreter aan te roepen, voert u python3.6
uit.
Ubuntu 17.10 en 18.04 worden al standaard geleverd met Python 3.6. Draai gewoon python3
om het aan te roepen.
Ik zou pyenv aanraden om uw problemen op te lossen. Het gebruikt geen Aptitude, en betekent "het zelf bouwen", maar het is volautomatisch. Je kunt een nieuwe (of oude) versie van Python bouwen en installeren door simpelweg pyenv install 3.6.0
te zeggen. Alles draait als uw gebruiker, dus u hoeft zich geen zorgen te maken over het verknoeien van de Python die door Ubuntu zelf wordt gebruikt.
Plus, het antwoord op de vervolgvraag "Hoe installeer ik Python 3.7 met apt-get?" heeft hetzelfde antwoord: pyenv update; pyenv install 3.7.0
. Het zal over het algemeen werken op dezelfde dag van een release omdat je niet hoeft te wachten op iemand anders om het te verpakken voor Ubuntu. Bekijk alle versies die je kunt installeren met pyenv install --list
Installeer tools en headers die nodig zijn om CPythons te bouwen (exotische Pythons zoals PyPy of Jython kunnen andere dependencies hebben). Git wordt gebruikt door pyenv, plus het maakt ook bouwen/installeren van bron-takken mogelijk, dus je zou kunnen installeren wat 3.8 op dit moment is, d.w.z. de master branch van CPython vers van 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
# optionele wetenschappelijke package headers (voor Numpy, Matplotlib, SciPy, enz.)
sudo apt-get install -y libpng-dev libfreetype6-dev
Voer het installatie script uit (installeert pyenv en enkele zeer nuttige pyenv plugins door de originele auteur; zie hier voor meer)
curl -L https://github.com/pyenv/pyenv-installer/raw/master/bin/pyenv-installer | bash
Voeg init-regels toe aan uw ~/.profile
of ~/.bashrc
(dit staat vermeld aan het eind van het installatiescript):
export PATH="$HOME/.pyenv/bin:$PATH"
eval "$(pyenv init -)"
eval "$(pyenv virtualenv-init -)"
Herstart uw shell (close & open of exec $SHELL
) of laad het profielscript opnieuw. (met b.v. source ~/.bashrc
)
Klaar!
Om de systeem Python niet aan te raken (over het algemeen een slecht idee; OS-level services kunnen afhankelijk zijn van specifieke bibliotheek versies, etc.) maak je je eigen omgeving, het'is makkelijk! Nog beter, geen sudo
, voor het of pip
installeert!
Installeer de Python versie van uw voorkeur (dit zal de broncode downloaden en bouwen voor uw gebruiker, geen invoer nodig)
pyenv install 3.6.0
Maak er een virtualenv van zodat je later andere kunt maken als je wilt
pyenv virtualenv 3.6.0 algemeen
Maak het globaal actief (voor uw gebruiker)
pyenv globaal algemeen
Doe wat je wilt met de Python/pip, etc. Het is van jou.
Als je later je bibliotheken wilt opruimen, kun je de virtualenv verwijderen (pyenv uninstall general
) of een nieuwe maken (pyenv virtualenv 3.6.0 other_proj
). U kunt ook omgevingen per map actief laten zijn: pyenv local other_proj
zal een .python-version
bestand in uw huidige map plaatsen en elke keer dat u Python of pip-geïnstalleerde Python programma's aanroept vanuit of onder deze map, zullen ze worden geshimmed door pyenv.
bash: pyenv: commando niet gevonden
, fish: Onbekend commando 'pyenv'
$PATH
, er zou een entry moeten zijn die eindigt op iets als .pyenv/bin
. Als die ontbreekt, zorg er dan voor dat je #3 en #4 (herstart je shell) hebt gevolgd onder Install pyenv hierboven.pyenv: no such command 'virtualenv'
pyenv commands
.Een alternatieve route als je geen werkende repo's kunt vinden zou zijn dat je zou kunnen proberen om zelf te compileren vanaf broncode. Je kunt de broncode op de downloadpagina vinden. Download dan de tarball en untar deze; bijvoorbeeld voor Python-3.6.1.tgz
.
Het proces voor het untarren van het tgz bestand is als volgt:
tar -xvzf /path/to/yourfile.tgz
Zodra u in het bestandspad bent waarnaar het bestand is uitgepakt, voer dan uit:
./configure
make
make altinstall
En hopelijk zou dit het probleem voor je moeten oplossen.