ฉันจะติดตั้ง Python 3.6 โดยใช้ apt-get ได้อย่างไร


363

ฉันได้ลองวิธีปกติsudo apt-get install python3.6แล้ว แต่ ... ดี ... ที่ไม่ได้ผล

ดังนั้นฉันจะไปเกี่ยวกับมันได้อย่างไร (ฉันควรไม่สร้างด้วยตัวเอง)

ฉันใช้ Ubuntu 16.04


5
บางที python 3.6 อาจไม่พร้อมให้คุณใช้งาน หากคุณติดตั้งaptitudeแล้วให้รันaptitude search python3
ridgy

คำตอบ:


525

Ubuntu 14.04 (เชื่อถือได้), 16.04 (Xenial)

หากคุณใช้ Ubuntu 14.04 หรือ 16.04 คุณสามารถใช้ PPA deadsnakes ของ Felix Krull ได้ที่https://launchpad.net/~deadsnakes/+archive/ubuntu/ppa :

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

หรือคุณสามารถใช้ PPA ของ J Fernyhough ได้ที่https://launchpad.net/~jonathonf/+archive/ubuntu/python-3.6 :

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

Ubuntu 16.10, 17.04

หากคุณใช้ Ubuntu 16.10 หรือ 17.04 ดังนั้น Python 3.6 จึงอยู่ในที่เก็บจักรวาลดังนั้นคุณจึงสามารถเรียกใช้:

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

หลังจากติดตั้งสำหรับ Ubuntu 14.04, 16.04, 16.10 และ 17.04

จะก่อให้เกิดหลาม 3.6 python3.6ล่ามทำงาน

Ubuntu 17.10 และ 18.04 (ไบโอนิค)

Ubuntu 17.10 และ 18.04 มาพร้อมกับ Python 3.6 เป็นค่าเริ่มต้น เพียงแค่เรียกใช้python3เพื่อเรียกใช้


5
โปรดทราบว่า python3.6 ใน Ubuntu 16.10 เป็นรุ่นเบต้าที่มีปัญหาบางอย่าง (เช่นการรั่วไหลของหน่วยความจำที่เจ็บปวดอย่างมากdictซึ่งจะปรากฏขึ้นในบางสถานการณ์ที่หายาก)
Marius Gedminas

102
ข้อควรระวัง - อย่าล่อลวงให้วิ่งsudo apt remove python3.5หรือทำสิ่งใด ๆ Python ให้ความสำคัญกับ Ubuntu มากกว่าที่คุณคิดและคุณสามารถหยุดการติดตั้ง Ubuntu ได้ หากคุณต้องการpython3แมปให้python3.6สร้าง symlink แทน!
Huw Walters

19
ผมเห็นไม่มีpython3.6-pipแพคเกจและดังนั้นผมจึงใช้ในการติดตั้งcurl https://bootstrap.pypa.io/get-pip.py | sudo python3.6 pip
คิวเมนตัส

5
อย่างใดหลามppa:jonathonf/python-3.6มาจากที่มี pip แตกและไม่มี easy_install บน 14.04 อย่างไรก็ตามฉันจัดการเพื่อแก้ไขได้โดยการติดตั้ง easy_install แล้วทำการติดตั้ง pip ใหม่curl https://bootstrap.pypa.io/ez_setup.py -o - | python3.6 && python3.6 -m easy_install pipอีกครั้งในกรณีที่มีคนพบปัญหาเดียวกัน ...
FirefoxMetzger

6
ชอบแสดงความคิดเห็นอื่น ๆ บางอย่างข้างต้นผมยังมีปัญหาในการรับการติดตั้งด้วยpip ppa:jonathonf/python-3.6ในทางกลับกันppa:deadsnakes/ppaทำงานได้อย่างไร้ที่ติ ( apt-get install python3.6 python3.6-venv -y)
Michael Herrmann

133

ฉันอยากจะแนะนำpyenvเพื่อแก้ปัญหาของคุณ มันไม่ได้ใช้ความถนัดและไม่เกี่ยวข้องกับการ "สร้างมันด้วยตัวคุณเอง" แต่มันเป็นอัตโนมัติ คุณสามารถสร้างและติดตั้งใหม่ (หรือเก่า) pyenv install 3.6.0เวอร์ชั่นของงูใหญ่โดยเพียงแค่บอกว่า ทุกอย่างทำงานในฐานะผู้ใช้ของคุณดังนั้นคุณไม่ต้องกังวลกับการทำ Python ให้ยุ่งยากโดย Ubuntu เอง

นอกจากนี้คำตอบสำหรับคำถามที่ตามมา "ฉันจะติดตั้ง Python 3.7 โดยใช้ apt-get ได้อย่างไร" มีคำตอบเดียวกัน: pyenv update; pyenv install 3.7.0. โดยทั่วไปจะใช้งานได้ในวันเดียวกันเนื่องจากคุณไม่จำเป็นต้องรอให้คนอื่นมาจัดทำแพ็คเกจสำหรับ Ubuntu ดูรุ่นทั้งหมดที่คุณสามารถติดตั้งได้pyenv install --list

ติดตั้ง pyenv

  1. ติดตั้งเครื่องมือและส่วนหัวที่จำเป็นในการสร้าง CPythons (Pythons ที่แปลกใหม่เช่น PyPy หรือ Jython อาจมีการพึ่งพาอื่น ๆ ) pyenv ใช้ Git บวกกับเปิดใช้งานการสร้าง / ติดตั้งของกิ่งสาขาดังนั้นคุณสามารถติดตั้งอะไรก็ได้ที่ 3.8 ตอนนี้เช่นสาขาหลักของ CPython ที่สดใหม่จาก GitHub:

    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
    
    # optional scientific package headers (for Numpy, Matplotlib, SciPy, etc.)
    sudo apt-get install -y libpng-dev libfreetype6-dev    
  2. เรียกใช้สคริปต์ตัวติดตั้ง (ติดตั้ง pyenv และปลั๊กอิน pyenv ที่มีประโยชน์มากโดยผู้เขียนต้นฉบับดูที่นี่สำหรับข้อมูลเพิ่มเติม)

    curl -L https://github.com/pyenv/pyenv-installer/raw/master/bin/pyenv-installer | bash
  3. เพิ่มบรรทัด init ให้กับของคุณ~/.profileหรือ~/.bashrc(มันกล่าวถึงในตอนท้ายของสคริปต์การติดตั้ง):

    export PATH="$HOME/.pyenv/bin:$PATH"
    eval "$(pyenv init -)"
    eval "$(pyenv virtualenv-init -)"
  4. รีสตาร์ทเชลล์ของคุณ (ปิด & เปิดหรือexec $SHELL) หรือโหลดสคริปต์โปรไฟล์อีกครั้ง (ด้วยเช่นsource ~/.bashrc)

ทำ!

การตั้งค่าสภาพแวดล้อม

ในการไม่แตะต้องระบบ Python (โดยทั่วไปแล้วเป็นความคิดที่ไม่ดีบริการระดับ OS อาจต้องใช้ไลบรารีรุ่นที่เจาะจง ฯลฯ ) สร้างสภาพแวดล้อมของคุณเองมันง่ายมาก! ดียิ่งกว่านั้นไม่sudoสำหรับมันหรือpipติดตั้ง!

  1. ติดตั้งเวอร์ชั่น Python ที่คุณต้องการ (ตัวเลือกนี้จะดาวน์โหลดซอร์สและสร้างสำหรับผู้ใช้ของคุณโดยไม่จำเป็นต้องป้อนข้อมูล)

    pyenv install 3.6.0
  2. ทำให้เป็น virtualenv เพื่อให้คุณสามารถสร้างคนอื่นได้ในภายหลังหากคุณต้องการ

    pyenv virtualenv 3.6.0 general
  3. ทำให้ใช้งานได้ทั่วโลก (สำหรับผู้ใช้ของคุณ)

    pyenv global general
  4. ทำสิ่งที่คุณต้องการด้วย Python / pip ฯลฯ เป็นของคุณ

หากคุณต้องการลบไลบรารีออกในภายหลังคุณสามารถลบ virtualenv ( pyenv uninstall general) หรือสร้างใหม่ ( pyenv virtualenv 3.6.0 other_proj) นอกจากนี้คุณยังสามารถมีสภาพแวดล้อมที่ใช้งานต่อไดเรกทอรี: pyenv local other_projจะวาง.python-versionไฟล์ลงในโฟลเดอร์ปัจจุบันของคุณและทุกครั้งที่คุณเรียกใช้โปรแกรม Python หรือ Python ยูทิลิตี้ Python ที่ติดตั้งจาก pip หรือภายใต้มันพวกเขาจะถูกควบคุมโดย pyenv

การแก้ไขปัญหา

  • bash: pyenv: command not found, fish: Unknown command 'pyenv'

    1. ตรวจสอบของคุณควรจะมีหนึ่งรายการที่สิ้นสุดในสิ่งที่ต้องการ$PATH .pyenv/binหากไม่มีให้ตรวจสอบให้แน่ใจว่าคุณได้ติดตาม # 3 AND # 4 (รีสตาร์ทเชลล์ของคุณ) ภายใต้ติดตั้ง pyenv ด้านบน
  • pyenv: no such command 'virtualenv'

    1. หากคุณไม่ได้ใช้สคริปต์ตัวติดตั้งคุณน่าจะติดตั้งแพ็คเกจ root pyenv เท่านั้น ดูpyenv-virtualenvสำหรับคำแนะนำในการเพิ่มปลั๊กอิน
    2. pyenv commandsหากคุณใช้สคริปต์ติดตั้งตรวจสอบว่าจะแสดงขึ้นด้วย

1
มีหนึ่ง caveat เมื่อใช้ pyenv กับ Python 2.x (หรือรุ่นเก่ามาก 3.x ก่อนที่การแสดงภายในสตริง Unicode ใหม่จะเกิดขึ้น): pyenv ใช้ค่าเริ่มต้นการรวบรวมอัพสตรีมเริ่มต้นและสร้างด้วยสตริง Unicode 16 บิต Linux distros สร้างโดยใช้สายอักขระ Unicode แบบ 32 บิต สิ่งนี้ทำให้เกิดอาการปวดเมื่อคุณ pip ติดตั้งบางสิ่งลงใน Pythons ทั้ง pyenv และ non-pyenv เนื่องจากการแคชของ pip wheel
Marius Gedminas

@marius ทำไมคุณไม่เคยใช้รุ่นที่ไม่ใช่ pyenv หลังจากติดตั้งหรือไม่
Nick T

3
ฉันไม่รู้ แต่ฉันค้นพบปัญหานี้โดยการช่วยเหลือผู้ใช้ในการดีบัก IRC ปัญหาที่แพคเกจ Python (lxml?) ไม่ทำงานเนื่องจากสิ่งนี้ ดังนั้นจึงเกิดขึ้นในทางปฏิบัติกับบางคนและมีค่าควรที่จะรู้ (วิธีแก้ปัญหามีrm -r ~/.cache/pip/wheels/.)
Marius Gedminas

1
ไม่pyenvจำเป็นต้องติดตั้งสำหรับผู้ใช้ที่ต้องการหลามทุกครั้งหรือไม่ และถ้าฉันมีผู้ใช้ 3 คนที่ต้องการ Python 3.6 รุ่นเดียวกันมันจะต้องคอมไพล์มัน 3 ครั้งและมันจะใช้พื้นที่ดิสก์ 3 เท่า? ถ้านั่นเป็นเรื่องจริงมันก็แย่แล้ว…: /
Sarge Borsch

1
@SargeBorsch โดยค่าเริ่มต้น (ถ้าคุณใช้ pyenv-ติดตั้ง) จะเป็นผู้ใช้ติดตั้ง แต่ไม่มีอะไรป้องกันคุณจากการติดตั้งมัน/optหรืออะไรก็ตามและการเพิ่ม symlinks /binบางอย่างเพื่อ ฉันพบว่าการเป็นผู้ใช้เท่านั้นที่จะมีประโยชน์อย่างยิ่ง ผู้ใช้ไม่จำเป็นต้องมี sudo (นอกเหนือจาก libs) พื้นที่ดิสก์มีราคาถูก
Nick T

14

ขึ้นอยู่กับเวอร์ชันของ Ubuntu ที่คุณใช้

Ubuntu 16.10 และ Ubuntu 17.04

เนื่องจาก Python 3.6 ได้รับการติดตั้งในที่เก็บจักรวาลของ Ubuntu 16.10 และ Ubuntu 17.04 คุณสามารถติดตั้ง python 3.6 ได้โดยตรงจากที่เก็บ เพียงใช้คำสั่งด้านล่าง:

sudo apt update
sudo apt install python3.6

Ubuntu 16.04

มีสองวิธีในการติดตั้ง Python3.6 บน Ubuntu 16.04

  • คอมไพล์และติดตั้ง python 3.6 บน Ubuntu 16.04
  • ติดตั้ง python 3.6 บน Ubuntu 16.04 จาก PPA

1. คอมไพล์และติดตั้ง python 3.6 บน Ubuntu 16.04

ติดตั้งการพึ่งพาที่จำเป็นดาวน์โหลดรหัสต้นฉบับ python 3.6 และสร้างสภาพแวดล้อมและติดตั้ง

sudo apt install build-essential checkinstall
sudo apt install libreadline-gplv2-dev libncursesw5-dev libssl-dev libsqlite3-dev tk-dev libgdbm-dev libc6-dev libbz2-dev
wget https://www.python.org/ftp/python/3.6.0/Python-3.6.0.tar.xz
tar xvf Python-3.6.0.tar.xz
cd Python-3.6.0/
./configure
sudo make altinstall

2. ติดตั้ง python 3.6 บน Ubuntu 16.04 จาก PPA

คุณสามารถติดตั้ง Python 3.6 จาก PPA โดยใช้คำสั่งด้านล่าง

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

หากติดตั้ง Python 3.6 อย่างถูกต้องคุณสามารถเรียกใช้ตัวแปลภาษาไพ ธ อนได้ด้วยการรันpython3.6ในเทอร์มินัล

ฉันหวังว่านี่จะช่วยได้. หากคุณมีปัญหาใด ๆ คุณสามารถตรวจสอบการโพสต์บล็อกนี้ที่นี่


2
นี่คือสำเนาของคำตอบที่ได้รับการยอมรับเป็นหลัก ผู้ประเมินราคาเพิ่มของคำตอบของคุณอยู่ที่ไหน
Marc Vanhoomissen

2
ขั้นตอนแรกใน Ubuntu 16.04 นั้นสำหรับผู้ที่ต้องการคอมไพล์และติดตั้ง python 3.6 ด้วยเหตุผลบางประการ กระบวนการรวบรวมและติดตั้ง Python 3.6 บน Ubuntu 16.04 ไม่มีให้ในคำตอบที่ยอมรับหรือคำตอบใด ๆ ในเธรดสำหรับเรื่องนั้น ประเด็นอื่น ๆ ที่จะทำให้อูบุนตูเป็นเวอร์ชั่นที่ชัดเจนและแตกต่างจากคำตอบที่ยอมรับอื่น ๆ อย่างไร
Aryal Bibek

1
PPA ที่ติดตั้งบน 16.04 (มิ้นต์) ปรากฏว่าใช้งานไม่ได้ การติดตั้งจากแหล่งข้อมูลมีประโยชน์
Hedgehog สมองเสื่อม

13

เส้นทางอื่นหากคุณไม่พบ repos ที่ใช้งานได้คุณอาจลองรวบรวมตัวเองจากแหล่งที่มา คุณสามารถค้นหารหัสที่มาในหน้าดาวน์โหลด จากนั้นดาวน์โหลดและยกเลิกการ tarball; Python-3.6.1.tgzสำหรับตัวอย่างสำหรับ

กระบวนการยกเลิกการลบไฟล์ tgz คือ:

tar -xvzf /path/to/yourfile.tgz

เมื่อคุณอยู่ในพา ธ ไฟล์แล้วไฟล์จะถูกซิปไปที่รัน:

./configure
make
make altinstall

และหวังว่านี่จะช่วยแก้ปัญหาให้คุณได้


4
(id preferably not build it on my own)คำถามที่ว่า บางทีมันอาจจะเป็นการดีกว่าaptถ้าไปเส้นทางถ้าเป็นไปได้
TheWanderer

ตกลงฉันจะดูว่าฉันสามารถหาที่เก็บสำรองอื่น ๆ สำหรับคุณ คุณมีโอกาสได้ดู repos ทางเลือกของ Google ด้วยตัวเองหรือยัง? ฉันไม่ต้องการที่จะแนะนำสิ่งที่คุณได้ลองไปแล้ว
เพียงแค่ในเวลา Berlake

ฉันไม่ใช่ OP เพียงแค่ให้คำแนะนำ ฉันไม่พบ PPA ใด ๆ สำหรับ 3.6 ดังนั้นการสร้างอาจเป็นเส้นทางที่จำเป็น คุณน่าจะตอบคำถามนั้นได้
TheWanderer

คำสั่ง make ของคุณจะล้มเหลวในระบบที่ผู้ใช้ไม่เคยสร้างอะไรเลยเนื่องจากมีหลายแพ็คเกจที่จำเป็น "sudo- ฉลาดติดตั้งสร้างจำเป็น libssl-dev zlib1g-dev libncurses5-dev libncursesw5-dev libreadline-dev libsqlite3-dev libgdbm-dev libdb5.3-dev libbz2-dev libexpat1-dev liblzma-dev TK-dev"
โจ

4

สำหรับ Ubuntu 15.10 ฉันติดตั้งสำเร็จแล้วโดยใช้วิธีนี้:

sudo add-apt-repository ppa:jonathonf/python-3.6

แต่ฉันแก้ไขไฟล์นี้:

sudo vi /etc/apt/sources.list.d/jonathonf-ubuntu-python-3_6-wily.list

และฉันเปลี่ยนเจ้าเล่ห์เป็นเชื่อถือแล้ว:

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

12
Ubuntu 15.10? เมื่อ EOL ผ่านไปหลายเดือนแล้ว ใช้เวลาในการอัพเกรด
edwinksl


0

ก่อนอื่นให้ทำตามคำตอบอื่น ๆ เพื่อติดตั้ง Python 3.6 หรือ 3.7 จากนั้นหากต้องการติดตั้งแพคเกจ PyPi เช่นOpenEXRผ่านpipคุณอาจได้รับข้อผิดพลาด บางคน (เช่นสำหรับแพ็คเกจ PyPi ของ OpenEXR) อาจได้รับการแก้ไขโดยการติดตั้งแพ็คเกจการพัฒนา Python สำหรับ Python ที่เพิ่งติดตั้งใหม่ของคุณ ซึ่งสามารถทำได้โดยใช้สิ่งต่อไปนี้:

sudo apt-get install python3.6-dev

หรือ

sudo apt-get install python3.7-dev


0

บางทีการแนะนำCondaไม่ใช่ความคิดที่แย่ ฉันคิดว่าอย่างน้อยก็ง่ายกว่าการใช้ pyenv แต่บางทีมันก็ขึ้นอยู่กับสิ่งที่คุณตั้งใจจะทำกับ Python เพราะฉันคิดว่า Conda คุณอาจจะได้รับแพ็คเกจพิเศษบางอย่าง

แก้ไข : อาจกล่าวถึงหลังจากที่คุณติดตั้ง Python เวอร์ชันเริ่มต้นของ Conda คุณสามารถติดตั้งรุ่นที่คุณต้องการได้ที่นี่ 3.6 โดยใช้condalike

conda install python==3.6
โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.