Weitere Informationen zu den neuesten Ubuntu-Versionen 1 : Für den Ubuntu 16.04.1-Server ist Python standardmäßig Version 3.5 und Python 2.7 nicht standardmäßig installiert. Bei einer Neuinstallation (beachten Sie, dass es nicht einmal eine python
ausführbare Datei gibt):
$ 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>
Hinweis: Bevor Sie fortfahren, werden Sie wahrscheinlich eine schnelle tun wollen sudo apt-get update
, sudo apt-get upgrade
und sudo apt-get dist-upgrade
(bitte tun Anmerkung genau das, was diese Befehle sind in der Tat zu tun, und ich gehe davon aus hier eine neue Installation.)
Die Installation von Python 2.7 ist so einfach wie:
$ sudo apt-get install python2.7
Die erste Ausgabe der Installation von Python 2.7 sieht folgendermaßen aus:
$ 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...
Nach der Installation von Python 2.7
$ 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
Es gibt jedoch immer noch ein Problem, da Sie PyPI-Module noch nicht über installieren können. pip
Wenn Sie z. B. ein Jupyter-Notebook oder das neueste Scipy oder Numpy (usw.) möchten, möchten Sie diese installieren pip
und pip install
wenden sich dann weiterhin an apt-get
um alle benötigten Systemabhängigkeiten wie graphviz oder Kernsystembibliotheken zu installieren.
$ 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
Die Installation von pip ist also wieder so einfach wie sudo apt-get install python-pip
:
$ 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
Sie benötigen sowohl python-pip
für Python 2.7 pip
als auch python3-pip
für Python 3 pip
. Die Installation über apt-get
ist sicher, dass die erforderlichen Abhängigkeiten installiert werden. Hier ist die Ausgabe für die Installation von pip2:
$ 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...
Daraus ergibt sich ein interessantes Ereignis: Sie haben jetzt den "Standard" (und PEP empfohlen) python2
und python3
(die sind nur Symlinks zu Python 2.7 und Python 3.5):
$ 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
Sie werden auch wollen sudo apt-get install python3-pip
; Vor der Installation haben Sie:
$ 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
Nach der Installation pip3
,
$ 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...
Die resultierenden Versionen:
$ 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)
Und noch eine letzte Sache, bevor Sie mit der Installation aller Ihrer bevorzugten Python-PyPI-Module beginnen können: Sie müssen wahrscheinlich pip selbst aktualisieren (sowohl pip2 als auch pip3, unabhängig davon, ob pip
es über die python
ausführbaren Dateien oder über die aufgerufen wird pip
ausführbare Dateien, die eigentlichen Upgrades sind gespeichert in /usr/lib
):
$ sudo -H python2 -m pip install --upgrade pip
...
$ sudo -H python3 -m pip install --upgrade pip
...
Sie können jetzt entweder die eigenständige pip
oder die in python
(via python -m pip {command}
) enthaltene Version ausführen .
[1] Historisches Fazit: Ältere Ubuntu hatten nur Python 2.6, also alle verschiedenen Methoden, um Python 2.7+ zu installieren. Später, nachdem Python 2.7 zu den öffentlichen Repositories hinzugefügt wurde, hatten wir immer noch die gleiche Herausforderung, das neueste Python 2.7 mit den neuesten Fixes zu installieren, was (zu) häufig notwendig war. Die heutige Situation ist viel besser / einfacher: Die aktuellen Python 2.7 und 3.5 (im Grunde die einzigen zwei Python-Plattformversionen, die die Leute interessieren), die jetzt in den öffentlichen Repos sind, sind sehr stabil, sodass wir uns nur um die Installation der neuesten kümmern müssen Python- Module , nicht die neuesten Python . Das "neueste Versionsproblem" von Python ist nun teilweise aus den Betriebssystem-Repos & apt
in PyPI & übergegangen pip
.)
sudo apt-get install python-2.7 python-pip