Hogyan telepíthetem az Ubuntu legújabb Python 2.7.X vagy 3.X verzióját?

158

Szeretném telepíteni a legfrissebb Python tarball-t az Ubuntuban, amelyet letöltött a linkről .

Helyes ez a telepítéshez?

./configure
make
make install

Ha nem, hogyan kell ezt csinálni?

    
készlet mohammads 05.02.2012 13:02
forrás

5 válasz

185

Először telepítse a függőségeket:

sudo apt-get install build-essential checkinstall
sudo apt-get install libreadline-gplv2-dev libncursesw5-dev libssl-dev libsqlite3-dev tk-dev libgdbm-dev libc6-dev libbz2-dev

Akkor töltse le a következő parancs használatával:

version=2.7.13
cd ~/Downloads/
wget https://www.python.org/ftp/python/$version/Python-$version.tgz

Kivonat és menj a könyvtárba:

tar -xvf Python-$version.tgz
cd Python-$version

Most telepítse a parancsot, amelyet most próbált meg, ahelyett, hogycheckinstall -ot használna, ha megkönnyíti az eltávolítást:

./configure
make
sudo checkinstall

Változtassa megversion -ot a kívánt verzióra (version=2.7.1 vagyversion=3.6.0, például).

    
válasz adott Achu 05.02.2012 13:20
forrás
160

Ha nem igazán van elég égő vágy a saját fordításra, akkor a DeadSnakes PPA < a> Python verziók telepítéséhez, amelyek alapértelmezés szerint nem szerepelnek:

sudo add-apt-repository ppa:deadsnakes/ppa
sudo apt-get update
sudo apt-get install python2.7

Más verziók is elérhetők, mint például apython2.4 vagy apython3.6, stb.

    
válasz adott brousch 05.02.2012 15:40
forrás
24

Az Ubuntu 16.04.1-es kiszolgálón az alapértelmezett Python 3.5 verzió, a Python 2.7 pedig nem telepítve van alapértelmezés szerint . Friss telepítés esetén (vegye figyelembe, hogy nincs mégpython végrehajtható):

$ type python3 python2 python 
python3 is /usr/bin/python3
-bash: type: python2: not found
-bash: type: python: not found

$ python3 --version 
Python 3.5.2

$ python --version 
The program 'python' can be found in the following packages:
 * python-minimal
 * python3
Try: sudo apt install <selected package>

Megjegyzés: folytatás előtt valószínűleg gyorssudo apt-get update,sudo apt-get upgrade éssudo apt-get dist-upgrade szeretnél tenni (kérjük, jegyezze fel pontosan, hogy ezek a parancsok valójában tényleg csinálnak. )

A Python 2.7 telepítése olyan egyszerű, mint:

$ sudo apt-get install python2.7

A Python 2.7 telepítésének kezdeti kimenete a következő:

$ sudo apt-get install python2.7
Reading package lists... Done
Building dependency tree       
Reading state information... Done
The following additional packages will be installed:
  libpython2.7-minimal libpython2.7-stdlib python2.7-minimal
Suggested packages:
  python2.7-doc binutils binfmt-support
The following NEW packages will be installed:
  libpython2.7-minimal libpython2.7-stdlib python2.7 python2.7-minimal
0 upgraded, 4 newly installed, 0 to remove and 0 not upgraded.
Need to get 3,735 kB of archives.
After this operation, 15.8 MB of additional disk space will be used.
Do you want to continue? [Y/n] Y
...etc, etc...

A python 2.7 telepítése után

$ type python3 python2.7 python3.5 python2 python
python3 is /usr/bin/python3
python2.7 is /usr/bin/python2.7
python3.5 is /usr/bin/python3.5
bash: type: python2: not found
bash: type: python: not found

De még mindig van egy probléma, mivel a PyPI modulok még nem telepíthetők apip -on keresztül - pl. ha szeretné a jupyter noteszgépet, vagy a legújabb scipy vagy numpy (etc), akkor a% co_kde %, majdpip -ot, és még mindigpip install -ra fordult a szükséges rendszer függőségek, például a graphviz vagy a központi rendszer könyvtárak telepítéséhez.

$ type pip3 pip2 pip
bash: type: pip3: not found
bash: type: pip2: not found
bash: type: pip: not found

$ python3 -m pip --version 
/usr/bin/python3: No module named pip

A pip telepítéséhez tehát egyszer en könnyebb aapt-get:

$ sudo apt-cache search -n pip | egrep '^python[0-9]*-pip'
python-pip - alternative Python package installer
python-pip-whl - alternative Python package installer
python3-pip - alternative Python package installer - Python 3 version of the package

Mind asudo apt-get install python-pip, mind a Python 2.7python-pip és apip a Python 3python3-pip részére. A telepítéspip -on keresztül biztosítja a szükséges függőségek telepítését; pl. a pip2 telepítésének kimenete:

$ sudo apt-get install python-pip
Reading package lists... Done
Building dependency tree       
Reading state information... Done
The following additional packages will be installed:
  binutils build-essential dpkg-dev fakeroot g++ g++-5 gcc gcc-5 libalgorithm-diff-perl
  libalgorithm-diff-xs-perl libalgorithm-merge-perl libasan2 libatomic1 libc-dev-bin libc6-dev
  libcc1-0 libcilkrts5 libdpkg-perl libexpat1-dev libfakeroot libfile-fcntllock-perl libgcc-5-dev
  libgomp1 libitm1 liblsan0 libmpx0 libpython-all-dev libpython-dev libpython-stdlib libpython2.7
  libpython2.7-dev libquadmath0 libstdc++-5-dev libtsan0 libubsan0 linux-libc-dev make
  manpages-dev python python-all python-all-dev python-dev python-minimal python-pip-whl
  python-pkg-resources python-setuptools python-wheel python2.7-dev
Suggested packages:
  binutils-doc debian-keyring g++-multilib g++-5-multilib gcc-5-doc libstdc++6-5-dbg gcc-multilib
  autoconf automake libtool flex bison gdb gcc-doc gcc-5-multilib gcc-5-locales libgcc1-dbg
  libgomp1-dbg libitm1-dbg libatomic1-dbg libasan2-dbg liblsan0-dbg libtsan0-dbg libubsan0-dbg
  libcilkrts5-dbg libmpx0-dbg libquadmath0-dbg glibc-doc libstdc++-5-doc make-doc python-doc
  python-tk python-setuptools-doc
The following NEW packages will be installed:
  binutils build-essential dpkg-dev fakeroot g++ g++-5 gcc gcc-5 libalgorithm-diff-perl
  libalgorithm-diff-xs-perl libalgorithm-merge-perl libasan2 libatomic1 libc-dev-bin libc6-dev
  libcc1-0 libcilkrts5 libdpkg-perl libexpat1-dev libfakeroot libfile-fcntllock-perl libgcc-5-dev
  libgomp1 libitm1 liblsan0 libmpx0 libpython-all-dev libpython-dev libpython-stdlib libpython2.7
  libpython2.7-dev libquadmath0 libstdc++-5-dev libtsan0 libubsan0 linux-libc-dev make
  manpages-dev python python-all python-all-dev python-dev python-minimal python-pip
  python-pip-whl python-pkg-resources python-setuptools python-wheel python2.7-dev
0 upgraded, 49 newly installed, 0 to remove and 0 not upgraded.
Need to get 61.1 MB of archives.
After this operation, 169 MB of additional disk space will be used.
Do you want to continue? [Y/n] Y
...etc...

Ennek következtében érdekes dolog következik: most a "standard" (és a PEP ajánlott)apt-get éspython2 (amelyek csak szimbolikusak a python 2.7 és a python 3.5 esetén):

$ type python3 python2 python python2.7 python3.5 
python3 is /usr/bin/python3
python2 is /usr/bin/python2
python is /usr/bin/python
python2.7 is /usr/bin/python2.7
python3.5 is /usr/bin/python3.5

Azt is szeretnépython3; a telepítés előtt:

$ type pip pip2 pip3
pip is /usr/bin/pip
pip2 is /usr/bin/pip2
-bash: type: pip3: not found

$ python2 -m pip --version 
pip 8.1.1 from /usr/lib/python2.7/dist-packages (python 2.7)

$ python3 -m pip --version 
/usr/bin/python3: No module named pip

Asudo apt-get install python3-pip telepítése után

$ sudo apt-get install python3-pip
Reading package lists... Done
Building dependency tree       
Reading state information... Done
The following additional packages will be installed:
  libpython3-dev libpython3.5-dev python3-dev python3-setuptools python3-wheel python3.5-dev
Suggested packages:
  python-setuptools-doc
The following NEW packages will be installed:
  libpython3-dev libpython3.5-dev python3-dev python3-pip python3-setuptools python3-wheel python3.5-dev
0 upgraded, 7 newly installed, 0 to remove and 0 not upgraded.
Need to get 38.0 MB of archives.
After this operation, 55.2 MB of additional disk space will be used.
Do you want to continue? [Y/n] 
...etc...

A kapott verziók:

$ type python python2 python3 pip pip2 pip3
python is /usr/bin/python
python2 is hashed (/usr/bin/python2)
python3 is hashed (/usr/bin/python3)
pip is /usr/bin/pip
pip2 is /usr/bin/pip2
pip3 is /usr/bin/pip3

$ pip --version 
pip 8.1.1 from /usr/lib/python2.7/dist-packages (python 2.7)

$ pip3 --version 
pip 8.1.1 from /usr/lib/python3/dist-packages (python 3.5)

$ python2 -m pip --version 
pip 8.1.1 from /usr/lib/python2.7/dist-packages (python 2.7)

$ python3 -m pip --version 
pip 8.1.1 from /usr/lib/python3/dist-packages (python 3.5)

És még egy utolsó dolog, mielőtt elindulna és elindítaná az összes kedvenc Python PyPI modulját: valószínűleg frissítenie kell a pipet (mind a pip2, mind a pip3, külön-külön is, nem számít, hogy apip3 apip végrehajtható fájlok vagy apython végrehajtható fájlok segítségével a tényleges frissítésekpip -ban kerülnek tárolásra:

$ sudo -H python2 -m pip install --upgrade pip
...
$ sudo -H python3 -m pip install --upgrade pip
...

Most már önálló/usr/lib vagy apip (python) termékcsaládban futtatható.

[1] Történeti összefoglaló: a régebbi Ubuntu-nak csak a Python 2.6 volt, így mindenféle módszer a Python 2.7+ telepítéséhez. Később, miután a Python 2.7-et hozzáadták a nyilvános tárhelyekhez, még mindig ugyanaz volt a kihívás, hogy a legfrissebb Python 2.7-t telepítsük a legfrissebb javításokra, ami túl gyakran szükséges. A mai helyzet sokkal jobb / egyszerűbb: a jelenlegi Python 2.7 & 3.5 (alapvetően az egyetlen két Python platform verziója, akik érdekelnek), amelyek jelenleg a nyilvános repóban vannak, nagyon stabilak, ezért most csak a legfrissebb python modulok telepítésével kell aggódnunk, nem a legújabb < python . Tehát most a Python "legfrissebb verziójának problémája" részben költözött az operációs rendszer repos & python -m pip {command} és PyPI & apt.)

    
válasz adott michael 29.09.2016 10:50
forrás
11

12.04

Ha Achu válaszát követi, akkor alibread5-dev kifejezéstlibreadline-gplv2-dev -ra kell változtatni. Tehát a teljes parancs:

sudo apt-get install libreadline-gplv2-dev libncursesw5-dev libssl-dev libsqlite3-dev tk-dev libgdbm-dev libc6-dev libbz2-dev
    
válasz adott ThatGuy 26.07.2012 16:37
forrás
3

Letöltheti és telepítheti is pyenv

#Install Pyenv
git clone https://github.com/pyenv/pyenv.git ~/.pyenv
export PATH=~/.pyenv/bin:/usr/local/hadoop/bin/:$PATH
echo 'export PYENV_ROOT="~/.pyenv"' >> ~/.bash_profile
echo 'export PATH="$PYENV_ROOT/bin:$PATH"' >> ~/.bash_profile
echo 'eval "$(pyenv init -)"' >> ~/.bash_profile

#Install Python
pyenv install 2.7.8
pyenv global 2.7.8

pyenv install 3.4.5
pyenv global 3.4.5
    
válasz adott Whispered 30.03.2017 09:38
forrás