Làm cách nào để cài đặt Python 3.6 bằng apt-get?


363

Tôi đã thử cách bình thường sudo apt-get install python3.6, nhưng ... chà ... điều đó không hiệu quả.

Vì vậy, làm thế nào tôi sẽ đi về nó? (Tốt nhất tôi không nên tự xây dựng nó)

Tôi đang sử dụng Ubuntu 16.04.


5
Có thể python 3.6 không có sẵn để phân phối của bạn. Nếu bạn đã cài đặt aptitude, hãy chạyaptitude search python3
vô lý

Câu trả lời:


525

Ubuntu 14.04 (Trusty), 16.04 (Xenial)

Nếu bạn đang sử dụng Ubuntu 14.04 hoặc 16.04, bạn có thể sử dụng PPA giả của Felix Krull tại https://launchpad.net/~deadsnakes/+archive/ubfox/ppa :

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

Ngoài ra, bạn có thể sử dụng PPA của J Fernyhough tại https://launchpad.net/~jonathonf/+archive/ubfox/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

Nếu bạn đang sử dụng Ubuntu 16.10 hoặc 17.04, thì Python 3.6 nằm trong kho vũ trụ, vì vậy bạn chỉ có thể chạy:

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

Sau khi cài đặt cho Ubuntu 14.04, 16.04, 16.10 và 17.04

Để gọi trình thông dịch Python 3.6, hãy chạy python3.6.

Ubuntu 17.10 và 18.04 (Bionic)

Ubuntu 17.10 và 18.04 đã đi kèm với Python 3.6 như mặc định. Chỉ cần chạy python3để gọi nó.


5
Lưu ý rằng python3.6 trong Ubuntu 16.10 là phiên bản beta có một số vấn đề (như rò rỉ bộ nhớ rất đau trong dictđó xuất hiện trong một số trường hợp hiếm gặp).
Marius Gedminas

102
THẬN TRỌNG - Không trong bất kỳ trường hợp nào bị cám dỗ để chạysudo apt remove python3.5hoặc bất cứ điều gì giống như nó; Python về cơ bản được đưa vào Ubuntu nhiều hơn bạn nghĩ và bạn có thể phá vỡ cài đặt Ubuntu của mình. Nếu bạn muốnpython3ánh xạ tớipython3.6, hãy tạo một liên kết tượng trưng thay thế!
Huw Walters

19
Tôi thấy không có python3.6-pipgói nào , và vì vậy tôi đã sử dụng curl https://bootstrap.pypa.io/get-pip.py | sudo python3.6để cài đặt pip.
Acumenus

5
Bằng cách nào đó trăn ppa:jonathonf/python-3.6đã đến với pip bị hỏng và không có easy_install vào ngày 14.04. Tuy nhiên, tôi đã cố gắng khắc phục bằng cách cài đặt easy_install và sau đó cài đặt lại pip thông qua curl https://bootstrap.pypa.io/ez_setup.py -o - | python3.6 && python3.6 -m easy_install pipChỉ trong trường hợp ai đó gặp phải vấn đề tương tự ...
FirefoxMetzger

6
Giống như một số bình luận khác ở trên, tôi cũng gặp khó khăn khi pipcài đặt ppa:jonathonf/python-3.6. Mặt khác, ppa:deadsnakes/ppalàm việc hoàn hảo ( apt-get install python3.6 python3.6-venv -y).
Michael Herrmann

133

Tôi muốn giới thiệu pyenv để giải quyết tai ương của bạn. Nó không sử dụng Aptitude, và không liên quan đến việc "xây dựng nó cho mình", nhưng nó hoàn toàn tự động . Bạn có thể xây dựng và cài đặt phiên bản Python mới (hoặc cũ) bằng cách nói đơn giản pyenv install 3.6.0. Mọi thứ chạy như người dùng của bạn, vì vậy bạn không phải lo lắng về việc làm rối Python được sử dụng bởi chính Ubuntu.

Thêm vào đó, câu trả lời cho câu hỏi tiếp theo "Làm cách nào để cài đặt Python 3.7 bằng apt-get?" có cùng câu trả lời : pyenv update; pyenv install 3.7.0. Nó thường sẽ hoạt động cùng ngày phát hành vì bạn không cần đợi người khác đóng gói nó cho Ubuntu. Xem tất cả các phiên bản bạn có thể cài đặt vớipyenv install --list

Cài đặt pyenv

  1. Cài đặt các công cụ và tiêu đề cần thiết để xây dựng CPythons (Pythons kỳ lạ như PyPy hoặc Jython có thể có các phụ thuộc khác). Git được sử dụng bởi pyenv, cộng với nó cũng cho phép xây dựng / cài đặt các nhánh nguồn, vì vậy bạn có thể cài đặt bất cứ thứ gì 3,8 ngay bây giờ, tức là nhánh chính của CPython mới tắt 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. Chạy tập lệnh cài đặt (cài đặt pyenv và một số plugin pyenv rất hữu ích của tác giả gốc; xem tại đây để biết thêm)

    curl -L https://github.com/pyenv/pyenv-installer/raw/master/bin/pyenv-installer | bash
  3. Thêm dòng init vào ~/.profilehoặc ~/.bashrc(nó đề cập đến nó ở cuối tập lệnh cài đặt):

    export PATH="$HOME/.pyenv/bin:$PATH"
    eval "$(pyenv init -)"
    eval "$(pyenv virtualenv-init -)"
    
  4. Khởi động lại trình bao của bạn (đóng & mở hoặc exec $SHELL) hoặc tải lại tập lệnh hồ sơ. (ví dụ source ~/.bashrc)

Làm xong!

Thiết lập môi trường

Để không chạm vào hệ thống Python (nói chung là một ý tưởng tồi; các dịch vụ cấp hệ điều hành có thể dựa vào một số phiên bản thư viện cụ thể, v.v.) tạo môi trường của riêng bạn, thật dễ dàng! Thậm chí tốt hơn, không sudo, cho nó hoặc pipcài đặt!

  1. Cài đặt phiên bản Python ưa thích của bạn (cái này sẽ tải xuống nguồn và xây dựng nó cho người dùng của bạn, không cần nhập liệu)

    pyenv install 3.6.0
  2. Biến nó thành một virtualenv để bạn có thể làm cho người khác sau nếu bạn muốn

    pyenv virtualenv 3.6.0 general
  3. Làm cho nó hoạt động trên toàn cầu (cho người dùng của bạn)

    pyenv global general
  4. Làm những gì bạn muốn với Python / pip, v.v ... Đó là của bạn.

Nếu bạn muốn dọn sạch thư viện của mình sau này, bạn có thể xóa virtualenv ( pyenv uninstall general) hoặc tạo một thư viện mới ( pyenv virtualenv 3.6.0 other_proj). Bạn cũng có thể có các môi trường hoạt động trên mỗi thư mục: pyenv local other_projsẽ thả một .python-versiontệp vào thư mục hiện tại của bạn và bất cứ khi nào bạn gọi các tiện ích Python được cài đặt Python hoặc pip từ nó hoặc dưới nó, chúng sẽ bị pyenv làm mờ.

Xử lý sự cố

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

    1. Kiểm tra của bạn $PATH, nên có một mục kết thúc bằng một cái gì đó như .pyenv/bin. Nếu nó bị thiếu, hãy đảm bảo bạn đã theo dõi # 3 VÀ # 4 (khởi động lại vỏ của bạn) trong Cài đặt pyenv ở trên.
  • pyenv: no such command 'virtualenv'

    1. Nếu bạn không sử dụng tập lệnh cài đặt, có khả năng bạn chỉ cài đặt gói pyenv gốc. Xem pyenv-virtualenv để biết hướng dẫn để thêm plugin
    2. Nếu bạn đã sử dụng tập lệnh cài đặt, hãy kiểm tra xem nó có hiển thị với không pyenv commands.

1
Có một cảnh báo, khi sử dụng pyenv với Python 2.x (hoặc bản phát hành 3.x rất cũ trước khi xảy ra biểu diễn bên trong chuỗi Unicode mới): pyenv sử dụng cờ biên dịch ngược dòng mặc định và xây dựng bằng chuỗi Unicode 16 bit. Các bản phân phối Linux thường được xây dựng với các chuỗi Unicode 32 bit. Điều này gây ra đau đớn khi bạn cài đặt một số thứ vào cả Pythv pyenv và không pyenv, vì bộ nhớ đệm của bánh xe pip.
Marius Gedminas

@marius tại sao bạn lại sử dụng phiên bản không phải pyenv sau khi cài đặt nó?
Nick T

3
Tôi không biết, nhưng tôi đã phát hiện ra vấn đề này bằng cách giúp ai đó trên IRC gỡ lỗi một vấn đề trong đó một gói Python cụ thể (lxml?) Không hoạt động do điều này. Vì vậy, nó xảy ra trong thực tế, với một số người, và đáng để biết. (Cách giải quyết là rm -r ~/.cache/pip/wheels/.)
Marius Gedminas

1
pyenvcần phải cài đặt cho mọi người dùng cần Python không? Và nếu tôi có 3 người dùng cần cùng một phiên bản Python 3.6, thì nó sẽ phải biên dịch nó 3 lần và nó sẽ chiếm dung lượng đĩa gấp 3 lần? Nếu đó là sự thật thì nó sẽ hút: /
Sarge Borsch

1
@SargeBorsch theo mặc định (nếu bạn sử dụng trình cài đặt pyenv) đó là cài đặt của người dùng, nhưng không có gì ngăn bạn cài đặt nó vào /opthoặc bất cứ điều gì và thêm một số liên kết tượng trưng vào /bin. Tôi thấy nó chỉ dành cho người dùng là cực kỳ hữu ích; người dùng không cần sudo (trừ libs). Dung lượng đĩa rẻ.
Nick T

14

Nó phụ thuộc vào phiên bản Ubuntu bạn đang sử dụng.

Ubuntu 16.10 và Ubuntu 17.04

Vì Python 3.6 được cài đặt trong kho vũ trụ của Ubuntu 16.10 và Ubuntu 17.04, bạn có thể trực tiếp cài đặt python 3.6 từ kho lưu trữ. Chỉ cần sử dụng các lệnh dưới đây:

sudo apt update
sudo apt install python3.6

Ubuntu 16.04

Có hai cách để cài đặt Python3.6 trên Ubuntu 16.04

  • Biên dịch và cài đặt python 3.6 trên Ubuntu 16.04
  • Cài đặt python 3.6 trên Ubuntu 16.04 từ PPA

1. Biên dịch và cài đặt python 3.6 trên Ubuntu 16.04

Cài đặt các phụ thuộc cần thiết, tải xuống mã nguồn python 3.6 và xây dựng môi trường và cài đặt

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. Cài đặt python 3.6 trên Ubuntu 16.04 từ PPA

Bạn có thể cài đặt Python 3.6 từ PPA bằng các lệnh bên dưới

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

Nếu Python 3.6 được cài đặt chính xác, bạn có thể gọi trình thông dịch python bằng cách chạy python3.6trong terminal.

Tôi hi vọng cái này giúp được. Nếu bạn đang có bất kỳ vấn đề, bạn có thể kiểm tra bài đăng blog này ở đây .


2
Đây thực chất là một bản sao của câu trả lời được chấp nhận. Đâu là giá trị gia tăng của câu trả lời của bạn?
Marc Vanhoomissen

2
Bước đầu tiên trong Ubuntu 16.04 là dành cho những người muốn biên dịch và cài đặt python 3.6 vì một số lý do. Quá trình biên dịch và cài đặt Python 3.6 trên Ubuntu 16.04 không có sẵn trong câu trả lời được chấp nhận hoặc bất kỳ câu trả lời nào trong luồng cho vấn đề đó. Các điểm khác là làm rõ phiên bản Ubuntu và nó khác với các câu trả lời được chấp nhận khác như thế nào.
Aryal Bibek

1
PPA cài đặt vào ngày 16.04 (Mint) có vẻ bị hỏng. Việc cài đặt từ thông tin nguồn là hữu ích.
con nhím mất trí nhớ

13

Một lộ trình thay thế nếu bạn không thể tìm thấy bất kỳ repos hoạt động nào là bạn có thể thử tự biên dịch từ nguồn. Bạn có thể tìm thấy mã nguồn trên trang tải xuống . Sau đó tải xuống và gỡ bỏ tarball; ví dụ như cho Python-3.6.1.tgz.

Quá trình gỡ bỏ tệp tgz là:

tar -xvzf /path/to/yourfile.tgz

Khi bạn đang ở trong đường dẫn tệp, tệp đã được giải nén, hãy chạy:

./configure
make
make altinstall

Và hy vọng điều này sẽ giải quyết vấn đề cho bạn.


4
Câu hỏi nói (id preferably not build it on my own). Có lẽ tốt hơn là nên đi theo aptlộ trình nếu có thể.
TheWanderer

Ok, tôi sẽ xem liệu tôi có thể tìm thấy bất kỳ kho lưu trữ thay thế nào cho bạn không. Bạn đã có cơ hội tìm kiếm trên Google cho các repos thay thế chưa? Tôi không muốn đề xuất những thứ bạn đã thử.
Vừa đúng giờ Berlake

Tôi không phải là OP. Chỉ cần đưa ra một gợi ý. Tôi không thể tìm thấy bất kỳ PPA nào cho 3.6, vì vậy việc xây dựng có thể là con đường cần thiết. Bạn có lẽ nên giải quyết điều đó trong câu trả lời của bạn mặc dù.
TheWanderer

Các lệnh make của bạn sẽ thất bại trên một hệ thống mà người dùng chưa bao giờ xây dựng bất cứ thứ gì, vì có nhiều gói được yêu cầu. "sudo apt install build-essential libssl-dev zlib1g-dev gói libncurses5-dev libncursesw5-dev libreadline-dev libsqlite3-dev libgdbm-dev libdb5.3-dev libbz2-dev libexpat1-dev liblzma-dev tk-dev"
Joe

4

Đối với Ubuntu 15.10, tôi đã cài đặt thành công bằng phương pháp này:

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

Nhưng tôi đã chỉnh sửa tập tin này:

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

Và tôi đã thay đổi một cách khôn ngoan thành đáng tin cậy và sau đó:

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

12
Ubuntu 15.10? Nó đã đi EOL vài tháng trước. Thời gian nâng cấp.
edwinksl


0

Đầu tiên, hãy làm theo một số câu trả lời khác để cài đặt Python 3.6 hoặc 3.7. Sau đó, nếu muốn cài đặt các gói PyPi như OpenEXR thông qua pipbạn có thể gặp một số lỗi. Một số trong số chúng (ví dụ cho gói PyPi của OpenEXR) có thể được giải quyết bằng cách cài đặt gói phát triển Python cho Python mới được cài đặt của bạn. Điều này có thể được thực hiện bằng cách sử dụng như sau:

sudo apt-get install python3.6-dev

hoặc là

sudo apt-get install python3.7-dev


0

Có lẽ đề xuất Conda không phải là một ý tưởng tồi. Tôi nghĩ rằng nó ít nhất là dễ dàng hơn so với sử dụng pyenv. Nhưng có lẽ nó phụ thuộc vào những gì bạn định làm với Python, vì tôi nghĩ với Conda bạn có thể kết thúc với một số gói bổ sung.

EDIT : Có lẽ đáng nói đến là sau khi bạn cài đặt phiên bản Python mặc định của Conda, bạn có thể cài đặt phiên bản bạn cần, ở đây 3.6, sử dụng condanhư

conda install python==3.6
Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.