Vraag Hoe installeer ik Python 3.6 met apt-get?


Ik heb de normale manier geprobeerd, sudo apt-get install python3.6, maar ... nou ... dat werkte niet.

Dus, hoe zou ik het aanpakken? (Ik zou het bij voorkeur niet in mijn eentje willen bouwen)

Ik gebruik Ubuntu 16.04.


277
2017-12-28 19:52


oorsprong


Misschien is python 3.6 niet beschikbaar voor uw distributie. Als je hebt geïnstalleerd aptitude, rennen aptitude search python3 - ridgy


antwoorden:


Ubuntu 14.04 (Trusty), 16.04 (Xenial) en 18.04 (Bionic)

Als u Ubuntu 14.04, 16.04 of 18.04 gebruikt, kunt u de deadlines voor Felix Krull 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 de PPA van J Fernyhough 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

Ubuntu 16.10 en 17.04

Als u Ubuntu 16.10 of 17.04 gebruikt, bevindt Python 3.6 zich in de universe-repository, dus u kunt gewoon uitvoeren:

sudo apt-get update
sudo apt-get install python3.6

Na installatie voor Ubuntu 14.04, 16.04, 16.10 en 17.04

Roep de Python 3.6-interpreter op python3.6.

Ubuntu 17.10

Ubuntu 17.10 wordt standaard geleverd met Python 3.6. Ren gewoon python3 om het aan te roepen.


409
2017-12-28 20:26



Houd er rekening mee dat python3.6 in Ubuntu 16.10 een bètaversie is die enkele problemen heeft (zoals een zeer pijnlijk geheugenlek in dict dat verschijnt in sommige zeldzame omstandigheden). - Marius Gedminas
VOORZICHTIGHEID - Laat u in geen geval in de verleiding komen om te rennen sudo apt remove python3.5 of iets dergelijks; Python is fundamenteler in Ubuntu gebakken dan je zou denken, en je zou je Ubuntu-installatie kunnen verbreken. Als je wil python3 toewijzen aan python3.6, maak in plaats daarvan een symlink! - Huw Walters
Ik zie dat er geen is python3.6-pip pakket, en dus gebruikte ik curl https://bootstrap.pypa.io/get-pip.py | sudo python3.6 installeren pip. - A-B-B
Een of andere manier python uit ppa:jonathonf/python-3.6 arriveerde met gebroken pip en geen easy_install op 14.04. Ik heb het echter kunnen repareren door easy_install te installeren en vervolgens pip via opnieuw te installeren curl https://bootstrap.pypa.io/ez_setup.py -o - | python3.6 && python3.6 -m easy_install pip Voor het geval iemand hetzelfde probleem tegenkomt ... - FirefoxMetzger
Zoals sommige andere commentatoren hierboven, had ik ook moeite om te krijgen pipom te installeren met ppa:jonathonf/python-3.6. Aan de andere kant, ppa:deadsnakes/ppa werkte foutloos (apt-get install python3.6 python3.6-venv -y). - Michael Herrmann


ik zou aanbevelen pyenv om je ellende op te lossen. Het maakt geen gebruik van Aptitude, en doet betrekken "zelf bouwen", maar dat is het volledig geautomatiseerd. Je kunt een nieuwe (of oude) versie van Python bouwen en installeren door simpelweg te zeggen pyenv install 3.6.0. Alles draait als uw gebruiker, dus u hoeft zich geen zorgen te maken de Python verpesten gebruikt door Ubuntu zelf.

Pyenv installeren

  1. Installeer headers die nodig zijn om CPythons te bouwen (exotische Pythons zoals PyPy of Jython kunnen andere afhankelijkheden hebben):

    sudo apt-get install -y build-essential libbz2-dev libssl-dev libreadline-dev \
                            libsqlite3-dev tk-dev
    
    # optional scientific package headers (for Numpy, Matplotlib, SciPy, etc.)
    sudo apt-get install -y libpng-dev libfreetype6-dev    
    
  2. Voer het installatiescript uit (installeert pyenv en enkele zeer nuttige pyenv-plug-ins door de oorspronkelijke auteur; zie hier voor meer)

    curl -L https://github.com/pyenv/pyenv-installer/raw/master/bin/pyenv-installer | bash
    
  3. Voeg init-regels toe aan uw ~/.profile of ~/.bashrc (het vermeldt het aan het einde van het installatiescript):

    export PATH="~/.pyenv/bin:$PATH"
    eval "$(pyenv init -)"
    eval "$(pyenv virtualenv-init -)"
    
  4. Start je shell opnieuw (sluiten en openen of exec $SHELL) of laad het profielscript opnieuw. (met b.v. source ~/.bashrc)

Gedaan!

Een omgeving opzetten

Om het systeem Python niet aan te raken (over het algemeen een slecht idee, diensten op OS-niveau kunnen afhankelijk zijn van een aantal specifieke bibliotheekversies, enz.) Maak je eigen omgeving, het is gemakkelijk! Nog beter, nee sudo, voor of pip installeert!

  1. Installeer de gewenste Python-versie (hiermee wordt de bron gedownload en voor uw gebruiker gemaakt, geen invoer vereist)

    pyenv install 3.6.0
    
  2. Maak er een virtualenv van, zodat je anderen later kunt maken als je wilt

    pyenv virtualenv 3.6.0 general
    
  3. Maak het wereldwijd actief (voor uw gebruiker)

    pyenv global general
    
  4. Doe wat je wilt met de Python / pip, enz. Het is van jou.

Als u later uw bibliotheken wilt opschonen, kunt u de virtualenv verwijderen (pyenv uninstall general) of maak een nieuwe (pyenv virtualenv 3.6.0 other_proj). Je kunt ook omgevingen actief hebben per directory: pyenv local other_proj zal a laten vallen .python-version bestand in je huidige map en elke keer dat je Python of pip-geïnstalleerde Python-utilities ervan of daaronder aanroept, worden ze opgeladen door pyenv.

Probleemoplossen

  • bash: pyenv: command not found, fish: Unknown command 'pyenv'

    1. Controleer je $PATH, er zou een inzending moeten zijn die eindigt in zoiets .pyenv/bin. Als het ontbreekt, zorg dan dat je # 3 hebt gevolgd EN # 4 (herstart je shell) onder Pyenv installeren hierboven.
  • pyenv: no such command 'virtualenv'

    1. Als u het installatiescript niet hebt gebruikt, heeft u waarschijnlijk alleen het rootpyenv-pakket geïnstalleerd. Zien pyenv-virtualenv voor instructies om de plug-in toe te voegen
    2. Als u het installatiescript heeft gebruikt, controleert u of dit verschijnt pyenv commands.

101
2017-12-29 02:46



of niet-meervoud, omdat Debian redeneert. - Nick T
Er is een voorbehoud bij het gebruik van pyenv met Python 2.x (of heel oude 3.x releases voordat de nieuwe interne tekenreeks van de Unicode-reeks plaatsvond): pyenv gebruikt de standaard upstream-compilatievlaggen en maakt gebruik van 16-bits Unicode-reeksen. Linux-distro's worden over het algemeen gemaakt met 32-bits Unicode-reeksen. Dit veroorzaakt pijn wanneer je een paar dingen installeert in zowel pyenv pythons als Pythons zonder pyjun, omdat de cache van het pijwiel in de cache zit. - Marius Gedminas
Ik weet het niet, maar ik heb dit probleem ontdekt door iemand op IRC te helpen bij het debuggen van een probleem waarbij een bepaald Python-pakket (lxml?) Hierdoor niet werkte. Dus het gebeurt in de praktijk voor sommige mensen en is de moeite waard om te weten. (De oplossing is rm -r ~/.cache/pip/wheels/.) - Marius Gedminas
Doet pyenv moet worden geïnstalleerd voor elke gebruiker die Python nodig heeft? En als ik 3 gebruikers heb die dezelfde Python 3.6-versie nodig hebben, dan zal het 3 keer gecompileerd moeten worden en is er 3x schijfruimte nodig? Als dat waar is, dan is het rotzooi ...: / - Sarge Borsch
@SargeBorsch standaard (als je Pyenv-installer gebruikt) is dit een installatie door de gebruiker, maar er is niets dat je ervan weerhoudt om het te installeren /opt of wat dan ook en er enkele symlinks aan toevoegen /bin. Ik vind het alleen-gebruiker zijn uiterst nuttig; gebruikers hebben sudo (anders dan libs) niet nodig. Schijfruimte is goedkoop. - Nick T


Een alternatieve route als je geen werkende repo's kunt vinden, zou je kunnen proberen om jezelf te compileren vanaf de bron. Je kunt de broncode op de downloadpagina. Download en untar de tarball; bijvoorbeeld voor Python-3.6.1.tgz.

Het proces voor het untarring van het tgz-bestand is:

tar -xvzf /path/to/yourfile.tgz

Zodra u zich in het bestandspad bevindt, is het bestand uitgepakt om het bestand uit te voeren:

./configure
make
make altinstall

En hopelijk moet dit het probleem voor u oplossen.


12
2017-12-28 20:10



Vraag zegt (id preferably not build it on my own). Misschien is het beter om naar de apt route indien mogelijk. - TheWanderer
Oké, ik zal even kijken of ik alternatieve opslagplaatsen voor je kan vinden. Heb je de kans gekregen om zelf op zoek te gaan naar alternatieve repos voor Google? Ik wil geen dingen suggereren die je al hebt geprobeerd. - Just In Time Berlake
Ik ben niet het OP. Gewoon een suggestie doen. Ik kon geen PPA's vinden voor 3.6, dus bouwen kan de noodzakelijke route zijn. Je zou dit waarschijnlijk in je antwoord moeten behandelen. - TheWanderer
Uw make-commando's zullen mislukken op een systeem dat de gebruiker nog nooit heeft gebouwd, omdat er veel pakketten nodig zijn. "sudo apt install build-essential libssl-dev zlib1g-dev libncurses5-dev libncursesw5-dev libreadline-dev libsqlite3-dev libgdbm-dev libdb5.3-dev libbz2-dev libexpat1-dev liblzma-dev tk-dev" - Joe


Het hangt af van welke versie van Ubuntu u gebruikt.

Ubuntu 16.10 en Ubuntu 17.04

Omdat Python 3.6 is geïnstalleerd in de universumrepository van Ubuntu 16.10 en Ubuntu 17.04, kunt u python 3.6 rechtstreeks vanuit de repository installeren. Gebruik gewoon de onderstaande commando's:

sudo apt update
sudo apt install python3.6

Ubuntu 16.04

Er zijn twee manieren om Python3.6 te installeren op Ubuntu 16.04

  • Compileer en installeer python 3.6 op Ubuntu 16.04
  • Installeer python 3.6 op Ubuntu 16.04 vanaf PPA

1. Compileer en installeer python 3.6 op Ubuntu 16.04

Installeer de nodige afhankelijkheden, download de python 3.6-broncode en bouw de omgeving en installeer

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

2. Installeer python 3.6 op Ubuntu 16.04 vanaf PPA

U kunt Python 3.6 vanaf PPA installeren met behulp van de onderstaande commando's

sudo add-apt-repository ppa:jonathonf/python-3.6
sudo apt update
sudo apt install python3.6

Als Python 3.6 correct is geïnstalleerd, kunt u de python-interpreter gebruiken door deze uit te voeren python3.6 in de terminal.

Ik hoop dat dit helpt. Als u problemen ondervindt, kunt u deze blogpost bekijken hier.


6
2018-01-04 18:51



Dit is in wezen een kopie van het geaccepteerde antwoord. Waar is de toegevoegde waarde van uw antwoord? - Marc Vanhoomissen
De eerste stap in de Ubuntu 16.04 is voor diegenen die om wat voor reden dan ook Python 3.6 willen compileren en installeren. Het proces van het compileren en installeren van Python 3.6 op Ubuntu 16.04 is niet beschikbaar in het geaccepteerde antwoord of een ander antwoord in de thread. De andere punten zijn om de versie van Ubuntu duidelijk te maken en hoe deze verschilt van andere geaccepteerde antwoorden. - Aryal Bibek
PPA-installaties op 16.04 (Mint) lijken gebroken. De installatie van broninformatie is handig. - demented hedgehog


Voor Ubuntu 15.10 heb ik het met succes geïnstalleerd met behulp van deze methode:

sudo add-apt-repository ppa:jonathonf/python-3.6

Maar ik heb dit bestand bewerkt:

sudo vi /etc/apt/sources.list.d/jonathonf-ubuntu-python-3_6-wily.list

En ik veranderde sluw naar betrouwbaar en dan:

sudo apt-get update
sudo apt-get install python3.6

3
2018-06-14 06:59



Ubuntu 15.10? EOL is maanden geleden voorbij. Tijd om te upgraden. - edwinksl


Overwegen pyenv + pipenv die moet worden vervangen met behulp van PIP + virtuele omgevingen met behulp van Pipfile

Vervolgens in Pipfile

[requires]
python_version = "3.6"

https://stackoverflow.com/a/49800061/1689770


0
2017-09-02 02:40