ดำเนินการต่อเพื่อจัดทำเอกสารนี้สำหรับ Ubuntu รุ่นล่าสุด1 : สำหรับเซิร์ฟเวอร์ Ubuntu 16.04.1 ค่าเริ่มต้น Python คือรุ่น 3.5 และ Python 2.7 ไม่ได้รับการติดตั้งตามค่าเริ่มต้น ในการติดตั้งใหม่ (โปรดทราบว่าไม่มีแม้แต่python
ไฟล์ที่รันได้):
$ 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>
หมายเหตุ: ก่อนที่จะดำเนินการต่อคุณอาจจะต้องการที่จะทำอย่างรวดเร็วsudo apt-get update
, sudo apt-get upgrade
และsudo apt-get dist-upgrade
(โปรดทราบว่าสิ่งที่คำสั่งเหล่านี้ในความเป็นจริงทำอะไรฉันสมมติว่าการติดตั้งใหม่ที่นี่.)
การติดตั้ง python 2.7 นั้นง่ายเหมือน:
$ sudo apt-get install python2.7
เอาต์พุตเริ่มต้นของการติดตั้ง python 2.7 มีดังนี้:
$ 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...
หลังจากติดตั้ง 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
แต่ยังคงมีปัญหาอยู่เนื่องจากคุณยังไม่สามารถติดตั้งโมดูล PyPI ผ่านpip
- เช่นหากคุณต้องการโน๊ตบุ๊ค jupyter หรือ scipy หรือ numpy (ฯลฯ ) ล่าสุดคุณจะต้องติดตั้งpip
แล้วต่อจากpip install
นั้นและยังคงเปลี่ยนเป็นapt-get
เพื่อติดตั้งการพึ่งพาระบบใด ๆ ที่จำเป็นเช่น graphviz หรือไลบรารีระบบหลัก
$ 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
ดังนั้นเพื่อติดตั้ง pip อีกครั้งมันง่ายเหมือน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
คุณจะต้องทั้งpython-pip
สำหรับ Python 2.7 pip
และpython3-pip
สำหรับหลาม pip
3 การติดตั้งผ่านapt-get
แน่ใจว่าจะติดตั้งการอ้างอิงที่จำเป็น; เช่นนี่คือผลลัพธ์สำหรับการติดตั้ง 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...
สิ่งที่น่าสนใจเกิดขึ้นจากสิ่งนี้: ตอนนี้คุณมี "มาตรฐาน" (และแนะนำ PEP) python2
และpython3
(ซึ่งเป็นเพียง symlink ของ python 2.7 และ 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
คุณจะต้องsudo apt-get install python3-pip
; ก่อนที่คุณจะติดตั้งคุณมี:
$ 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
หลังจากติดตั้ง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...
รุ่นผลลัพธ์:
$ 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)
และสิ่งสุดท้ายก่อนที่คุณจะไปและเริ่มการติดตั้งโมดูลหลาม PyPI ที่คุณชื่นชอบ: คุณอาจจะต้องอัพเกรด pip เอง (ทั้ง pip2 และ pip3 แยกกันด้วยเช่นกันมันไม่สำคัญว่าpip
จะถูกเรียกใช้ผ่านทางpython
executables หรือpip
executables, อัพเกรดจริงจะถูกเก็บไว้ใน/usr/lib
):
$ sudo -H python2 -m pip install --upgrade pip
...
$ sudo -H python3 -m pip install --upgrade pip
...
ตอนนี้คุณสามารถเรียกใช้งานแบบสแตนด์อะโลนpip
หรือรุ่นที่รวมอยู่ภายในpython
(ผ่านpython -m pip {command}
)
[1] สรุปทางประวัติศาสตร์: Ubuntu รุ่นเก่ามีเพียง Python 2.6 เท่านั้นดังนั้นวิธีการต่าง ๆ ทั้งหมดในการติดตั้ง Python 2.7+ ต่อมาหลังจากเพิ่ม Python 2.7 ไปยังที่เก็บข้อมูลสาธารณะเรายังคงมีความท้าทายเหมือนกันในการติดตั้ง Python 2.7 ใหม่ล่าสุดพร้อมกับการแก้ไขล่าสุดซึ่งจำเป็น (บ่อยเกินไป) เช่นกัน สถานการณ์ในวันนี้ดีขึ้น / เรียบง่ายมากขึ้น: Python 2.7 และ 3.5 ปัจจุบัน (โดยทั่วไปเป็นเพียงแพลตฟอร์ม Python สองรุ่นเท่านั้นที่ผู้คนใส่ใจ) ซึ่งตอนนี้อยู่ใน repos สาธารณะมีเสถียรภาพมากดังนั้นตอนนี้เราแค่กังวลเกี่ยวกับการติดตั้งล่าสุด หลามโมดูลไม่ล่าสุดหลาม ดังนั้นตอนนี้ Python "ปัญหาเกี่ยวกับเวอร์ชั่นล่าสุด" ได้ย้ายบางส่วนออกจาก repos ของระบบปฏิบัติการ & apt
และไปยัง PyPI & pip
.)
sudo apt-get install python-2.7 python-pip