Melanjutkan mendokumentasikan ini untuk rilis Ubuntu terbaru 1 : untuk server Ubuntu 16.04.1, Python default adalah versi 3.5, dan Python 2.7 tidak diinstal secara default. Pada pemasangan baru (perhatikan bahwa tidak ada yang python
dapat dieksekusi):
$ 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>
Catatan: sebelum melanjutkan, Anda mungkin ingin melakukan yang cepat sudo apt-get update
,, sudo apt-get upgrade
dan sudo apt-get dist-upgrade
(harap dicatat dengan tepat apa yang sebenarnya dilakukan perintah-perintah ini; Saya mengasumsikan instalasi baru di sini.)
Memasang python 2.7 semudah:
$ sudo apt-get install python2.7
Output awal menginstal python 2.7 adalah sebagai berikut:
$ 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...
Setelah menginstal 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
Tetapi masih ada masalah, karena Anda belum dapat menginstal modul PyPI melalui pip
- misalnya, jika Anda ingin notebook jupyter, atau scipy atau numpy terbaru (dll), Anda ingin menginstal pip
dan kemudian pip install
itu, dan masih beralih ke apt-get
untuk menginstal semua dependensi sistem yang diperlukan , seperti graphviz atau pustaka sistem inti.
$ 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
Jadi untuk menginstal pip, sekali lagi, semudah 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
Anda membutuhkan keduanya python-pip
untuk Python 2.7 pip
dan python3-pip
untuk Python 3 pip
. Instalasi via apt-get
yakin untuk menginstal dependensi yang diperlukan; misal, ini output untuk menginstal 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...
Hal yang menarik terjadi sebagai akibat dari ini: Anda sekarang memiliki "standar" (dan direkomendasikan PEP) python2
dan python3
(yang hanya symlink ke python 2.7 dan 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
Anda juga ingin sudo apt-get install python3-pip
; sebelum Anda menginstal, Anda harus:
$ 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
Setelah menginstal 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...
Versi yang dihasilkan:
$ 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)
Dan satu hal terakhir sebelum Anda dapat pergi dan mulai menginstal semua python python modul favorit Anda: Anda mungkin harus meng-upgrade pip itu sendiri (baik pip2 dan pip3, secara terpisah; juga, tidak masalah jika pip
dipanggil melalui python
executables atau pip
dapat dieksekusi, pemutakhiran aktual disimpan di /usr/lib
):
$ sudo -H python2 -m pip install --upgrade pip
...
$ sudo -H python3 -m pip install --upgrade pip
...
Anda sekarang dapat menjalankan versi yang berdiri sendiri pip
atau yang dibundel dalam python
(via python -m pip {command}
).
[1] Rekap historis: Ubuntu yang lebih lama hanya memiliki Python 2.6, dengan demikian semua berbagai metode untuk menginstal Python 2.7+. Kemudian, setelah Python 2.7 ditambahkan ke repositori publik, kami masih memiliki tantangan yang sama untuk menginstal Python 2.7 terbaru dengan perbaikan terbaru, yang (terlalu) sering diperlukan. Situasi hari ini jauh lebih baik / sederhana: Python 2.7 & 3.5 saat ini (pada dasarnya hanya dua versi platform Python yang orang pedulikan) yang sekarang ada di repo publik sangat stabil, jadi sekarang kita benar-benar hanya perlu khawatir tentang menginstal yang terbaru modul python , bukan python terbaru . Jadi sekarang Python "masalah versi terbaru" telah berpindah sebagian dari repo OS & apt
dan ke PyPI & pip
.)
sudo apt-get install python-2.7 python-pip