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


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

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

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


278
2017-12-28 19:52


gốc


Có lẽ python 3.6 không có sẵn cho bản phân phối của bạn. Nếu bạn đã cài đặt aptitude, chạy aptitude search python3 - ridgy


Các câu trả lời:


Ubuntu 14.04 (Trusty), 16.04 (Xenial) và 18.04 (Bionic)

Nếu bạn đang sử dụng Ubuntu 14.04, 16.04 hoặc 18.04, bạn có thể sử dụng PPA của Felix Krull's deadsnakes tại https://launchpad.net/~deadsnakes/+archive/ubuntu/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/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 và 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

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


411
2017-12-28 20:26



Lưu ý rằng python3.6 trong Ubuntu 16.10 là một phiên bản beta có một số vấn đề (như rò rỉ bộ nhớ rất đau đớn trong dict xuất hiện trong một số trường hợp hiếm hoi). - Marius Gedminas
THẬN TRỌNG - Không trong bất kỳ trường hợp nào bị cám dỗ để chạy sudo apt remove python3.5 hoặc bất cứ điều gì giống như nó; Python cơ bản được nướng vào Ubuntu hơn bạn nghĩ, và bạn có thể phá vỡ cài đặt Ubuntu của bạn. Nếu bạn muốn python3 để ánh xạ tới python3.6, tạo một liên kết tượng trưng thay thế! - Huw Walters
Tôi thấy không có python3.6-pip gói và vì vậy tôi đã sử dụng curl https://bootstrap.pypa.io/get-pip.py | sudo python3.6 để cài đặt pip. - A-B-B
Bằng cách nào đó python từ ppa:jonathonf/python-3.6 đến với pip bị hỏng và không easy_install trên 14.04. Tuy nhiên, tôi đã cố gắng khắc phục nó bằng cách cài đặt easy_install và sau đó cài đặt lại pip qua curl https://bootstrap.pypa.io/ez_setup.py -o - | python3.6 && python3.6 -m easy_install pipChỉ trong trường hợp ai đó chạy vào cùng một vấn đề ... - FirefoxMetzger
Giống như một số người bình luận khác ở trên, tôi cũng gặp khó khăn khi pip cài đặt với ppa:jonathonf/python-3.6. Mặt khác, ppa:deadsnakes/ppa làm việc hoàn hảo (apt-get install python3.6 python3.6-venv -y). - Michael Herrmann


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

Ngoài ra, 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 một câu trả lời: pyenv update; pyenv install 3.7.0. Nó thường sẽ làm việc cùng ngày phát hành bởi vì bạn không cần phải đợi người khác gói nó cho Ubuntu.

Cài đặt pyenv

  1. Cài đặt 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):

    sudo apt-get install -y build-essential libbz2-dev libssl-dev libreadline-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 kịch bản trì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 đâ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 ~/.profile hoặc là ~/.bashrc (nó đề cập đến nó ở cuối kịch bản cài đặt):

    export PATH="~/.pyenv/bin:$PATH"
    eval "$(pyenv init -)"
    eval "$(pyenv virtualenv-init -)"
    
  4. Khởi động lại vỏ của bạn (đóng và mở hoặc exec $SHELL) hoặc tải lại tập lệnh tiểu 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 (thường 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ể, vv) 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ó hay pip lượt cài đặt!

  1. Cài đặt phiên bản Python ưa thích của bạn (điều 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 yêu cầu đầu vào)

    pyenv install 3.6.0
    
  2. Biến nó thành 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, vv Đó là của bạn.

Nếu bạn muốn xóa các 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 cái mới (pyenv virtualenv 3.6.0 other_proj). Bạn cũng có thể có môi trường hoạt động trên mỗi thư mục: pyenv local other_proj sẽ thả một .python-version tập tin vào thư mục hiện tại của bạn và bất cứ lúc nào bạn gọi Python hoặc các tiện ích Python được cài đặt từ nó hoặc dưới nó, chúng sẽ bị pyenv làm rung chuyển.

Xử lý sự cố

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

    1. Kiểm tra của bạn $PATH, sẽ có một mục nhập kết thúc bằng một thứ như .pyenv/bin. Nếu thiếu, hãy đảm bảo rằng bạn đã theo dõi # 3 VÀ # 4 (khởi động lại trình bao 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, bạn có thể 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 trình cài đặt, hãy kiểm tra xem nó có hiển thị với pyenv commands.

104
2017-12-29 02:46



hoặc không số nhiều, vì lý do Debian. - Nick T
Có một báo trước, khi sử dụng pyenv với Python 2.x (hoặc các phiên bản 3.x rất cũ trước khi biểu diễn bên trong chuỗi Unicode mới xảy ra): pyenv sử dụng cờ biên dịch ngược dòng mặc định và xây dựng với chuỗi Unicode 16 bit. Các bản phân phối Linux thường 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ả pyenv và Pyenv không pyenv, vì bộ nhớ đệm bánh xe pip. - Marius Gedminas
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 một người nào đó trên IRC gỡ lỗi một vấn đề mà 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. (Giải pháp thay thế là rm -r ~/.cache/pip/wheels/.) - Marius Gedminas
Làm pyenv cần được cài đặt cho mọi người dùng cần Python? Và nếu tôi có 3 người dùng cần 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 không gian đĩa 3x? Nếu đó là sự thật thì nó sẽ hút ...: / - Sarge Borsch
@SargeBorsch theo mặc định (nếu bạn sử dụng pyenv-installer), đó là người dùng cài đặt, nhưng không có gì ngăn bạn cài đặt nó vào /opt hoặ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ó là người dùng chỉ cực kỳ hữu ích; người dùng không cần sudo (ngoài libs). Dung lượng ổ đĩa rẻ. - Nick T


Một tuyến đường thay thế nếu bạn không thể tìm thấy bất kỳ repos làm việc nào là bạn có thể thử 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ỡ tarball; ví dụ cho Python-3.6.1.tgz.

Quá trình hủy 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.


12
2017-12-28 20:10



Câu hỏi nói (id preferably not build it on my own). Có lẽ tốt hơn là đi apt lộ trình nếu có thể. - TheWanderer
Ok, tôi sẽ xem xét xem 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 bản repos thay thế chưa? Tôi không muốn đề nghị những điều bạn đã thử. - Just In Time Berlake
Tôi không phải là OP. Chỉ cần thực hiện một đề nghị. 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à tuyến đườ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
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, vì có nhiều gói cần thiết. "sudo apt install build-essential 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" - Joe


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ể cài đặt trực tiếp 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 về 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ách sử dụ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 đúng, bạn có thể gọi trình thông dịch python bằng cách chạy python3.6 trong nhà ga.

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


7
2018-01-04 18:51



Đây là 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
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 chuỗi cho vấn đề đó. Các điểm khác là làm rõ phiên bản của Ubuntu và cách nó khác với các câu trả lời được chấp nhận khác. - Aryal Bibek
Cài đặt PPA vào ngày 16.04 (Bạc hà) xuất hiện bị hỏng. Việc cài đặt từ thông tin nguồn là hữu ích. - demented hedgehog


Đố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 này:

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

Và tôi đã thay đổi nhăn nhó đến đáng tin cậy và sau đó:

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

3
2018-06-14 06:59



Ubuntu 15.10? Nó đã đi EOL tháng trước. Đã đến lúc nâng cấp. - edwinksl


Xem xét pyenv + pipenv đó là để thay thế bằng cách sử dụng môi trường ảo PIP + bằng cách sử dụng Pipfile

Sau đó, trong Pipfile

[requires]
python_version = "3.6"

https://stackoverflow.com/a/49800061/1689770


1
2017-09-02 02:40