Hogyan telepíthetem a Python 3.6-ot az apt-get segítségével?

Megpróbáltam a szokásos módon, sudo apt-get install python3.6, de... nos... ez nem működött.

Szóval, hogyan tudnám megoldani? (lehetőleg ne magam építsem meg)

Ubuntu 16.04-et használok.

Megoldás

Ubuntu 14.04 (Trusty), 16.04 (Xenial)

Ha Ubuntu 14.04-et vagy 16.04-et használsz, használhatod Felix Krull's deadsnakes PPA-ját a https://launchpad.net/~deadsnakes/+archive/ubuntu/ppa címen:

sudo add-apt-repository ppa:deadsnakes/ppa
sudo apt-get update
sudo apt-get install python3.6

Alternatívaként használhatja J Fernyhough's PPA-t a https://launchpad.net/~jonathonf/+archive/ubuntu/python-3.6 címen:

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

Ubuntu 16.10, 17.04

Ha Ubuntu 16.10-et vagy 17.04-et használsz, akkor a Python 3.6 az univerzum repositoryban van, így egyszerűen futtathatod:

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

Telepítés után az Ubuntu 14.04, 16.04, 16.10 és 17.04 esetén.

A Python 3.6 interpreter meghívásához futtassa a python3.6 parancsot.

Ubuntu 17.10 és 18.04 (Bionic)

Az Ubuntu 17.10 és 18.04 már alapértelmezés szerint a Python 3.6-tal érkezik. Csak futtassa a python3 parancsot, hogy meghívja azt.

Kommentárok (35)

A pyenv ajánlom, hogy megoldja a gondjaidat. Ez nem használja az Aptitude-ot, és nem foglalja magában a "saját magad építését", de teljesen automatizált. A Python új (vagy régi) verzióját egyszerűen a pyenv install 3.6.0 parancsával építheted és telepítheted. Minden a te felhasználódként fut, így nem kell aggódnod, hogy elrontod a Python által használt Ubuntu-t magát.

Ráadásul a "Hogyan telepíthetem a Python 3.7-et az apt-get segítségével?" a következő kérdésre is ugyanez a válasz: pyenv update; pyenv install 3.7.0. Ez általában még a kiadás napján működik, mert nem kell megvárni, hogy valaki más csomagolja az Ubuntura. Lásd az összes telepíthető verziót a pyenv install --list paranccsal.

Telepítse a pyenv-t

  1. Telepítse a CPythonok építéséhez szükséges eszközöket és fejléceket (az egzotikus Pythonoknak, mint a PyPy vagy a Jython, lehetnek más függőségei is). A pyenv a Git-et használja, ráadásul lehetővé teszi a forráságak építését/telepítését is, így telepítheted a 3.8-as verziószámot, ami éppen most van, azaz a CPython master ágát frissen a GitHubról:

     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
    
     # opcionális tudományos csomagfejlécek (Numpy, Matplotlib, SciPy, stb. esetén)
     sudo apt-get install -y libpng-dev libfreetype6-dev
  2. Futtassuk a telepítő szkriptet (telepíti a pyenv-et és néhány nagyon hasznos pyenv plugint az eredeti szerzőtől; lásd itt továbbiakért).

     curl -L https://github.com/pyenv/pyenv-installer/raw/master/bin/pyenv-installer | bash
  3. Adj hozzá init sorokat a ~/.profile vagy ~/.bashrc fájlodhoz (a telepítő szkript végén említi):

     export PATH="$HOME/.pyenv/bin:$PATH"
     eval "$(pyenv init -)"
     eval "$(pyenv virtualenv-init -)"
  4. Indítsa újra a héját (close & open vagy exec $SHELL) vagy töltse be újra a profilszkriptet. (pl. source ~/.bashrc-vel)

Kész!

A környezet beállítása

Ahhoz, hogy ne nyúlj a rendszer Pythonjához (általában rossz ötlet; az OS-szintű szolgáltatások támaszkodhatnak bizonyos speciális könyvtárverziókra, stb.), készítsd el a saját környezetedet, ez egyszerű! Még jobb, nincs sudo, mert vagy pip telepít!

  1. Telepítse az Ön által preferált Python verziót (ez letölti a forrást és elkészíti a felhasználó számára, nincs szükség bemenetre).

     pyenv install 3.6.0
  2. Legyen egy virtualenv, hogy később, ha akarsz, készíthess másokat is.

     pyenv virtualenv 3.6.0 general
  3. Tegyük globálisan aktívvá (a felhasználó számára).

     pyenv global general
  4. Csinálj, amit akarsz a Python/pip, stb. Ez a tiéd.

Ha később ki akarod takarítani a könyvtáraidat, törölheted a virtualenv-t (pyenv uninstall general) vagy készíthetsz egy újat (pyenv virtualenv 3.6.0 other_proj). A környezetek könyvtáranként is aktívak lehetnek: a pyenv local other_proj egy .python-verzió fájlt dob az aktuális mappádba, és amikor ebből vagy alatta meghívod a Pythont vagy a pip által telepített Python segédprogramokat, a pyenv fogja őket shimmelni.

Hibaelhárítás

  • bash: pyenv: command not found, fish: Ismeretlen parancs 'pyenv'

    1. Ellenőrizd a $PATH bejegyzést, lennie kell egy olyan bejegyzésnek, ami valami olyasmire végződik, mint .pyenv/bin. Ha ez hiányzik, győződj meg róla, hogy követted a #3 És #4 (indítsd újra a héjad) pontot a fenti Install pyenv alatt.
  • pyenv: nincs ilyen parancs 'virtualenv'

    1. Ha nem használtad a telepítő szkriptet, akkor valószínűleg csak a root pyenv csomagot telepítetted. A bővítmény hozzáadásához lásd a pyenv-virtualenv útmutatót.
    2. Ha a telepítő szkriptet használta, ellenőrizze, hogy megjelenik-e a pyenv parancsok.
Kommentárok (16)

Egy alternatív útvonal, ha nem találsz működő repos-t, megpróbálhatod magad fordítani a forrásból. A forráskódot a letöltési oldalon találod. Ezután töltsd le és csomagold ki a tarballt; például a Python-3.6.1.tgz.

A tgz fájl kicsomagolásának folyamata a következő:

tar -xvzf /path/to/yourfile.tgz

Ha már a fájl elérési útvonalán van, ahová a fájlt kicsomagolták, futtassa a következőt:

./configure
make
make altinstall

És remélhetőleg ez megoldja a problémát.

Kommentárok (4)