Hướng dẫn install different version of python - cài đặt phiên bản python khác nhau

Người quản lý gói - cấp độ người dùng

Đối với Trình quản lý gói có thể cài đặt và quản lý nhiều phiên bản Python, đây là những lựa chọn tốt:

Show
  • PyenV - Chỉ có thể cài đặt và quản lý các phiên bản của Python
  • ASDF - Có thể cài đặt và quản lý nhiều ngôn ngữ khác nhau

Ưu điểm của các nhà quản lý gói này là có thể dễ dàng thiết lập chúng và cài đặt nhiều phiên bản Python với họ hơn là cài đặt Python từ nguồn. Họ cũng cung cấp các lệnh để dễ dàng thay đổi (các) phiên bản Python có sẵn bằng cách sử dụng shims và đặt phiên bản Python trên mỗi hướng.

Nhược điểm này là, theo mặc định, chúng được cài đặt ở cấp độ người dùng (bên trong thư mục nhà của bạn) và yêu cầu một chút cấu hình cấp người dùng-bạn sẽ cần chỉnh sửa

$ which python
/usr/bin/python
4 và
$ which python
/usr/bin/python
5 hoặc các tệp tương tự. Điều này có nghĩa là không dễ sử dụng chúng để cài đặt nhiều phiên bản Python trên toàn cầu cho tất cả người dùng. Để thực hiện việc này, bạn có thể cài đặt từ nguồn cùng với phiên bản Python hiện có của HĐH.


Cài đặt từ nguồn - toàn hệ thống

Bạn sẽ cần các đặc quyền gốc cho phương pháp này.

Xem tài liệu Python chính thức để xây dựng từ nguồn để xem xét và tùy chọn bổ sung.

$ which python
/usr/bin/python
6 là vị trí được chỉ định cho quản trị viên hệ thống để cài đặt phần mềm được chia sẻ (toàn hệ thống), do đó, các thư mục con là một nơi tốt để tải xuống nguồn Python và cài đặt. Xem Phần 4.9 của Tiêu chuẩn phân cấp tệp của Linux Foundation.

Cài đặt bất kỳ phụ thuộc xây dựng. Trên các hệ thống dựa trên Debian, sử dụng:

apt update
apt install build-essential zlib1g-dev libncurses5-dev libgdbm-dev libnss3-dev libssl-dev libsqlite3-dev libreadline-dev libffi-dev libbz2-dev

Chọn phiên bản Python bạn muốn cài đặt. Xem trang phát hành nguồn Python để biết danh sách.

Tải xuống và giải nén tệp trong

$ which python
/usr/bin/python
7, thay thế
$ which python
/usr/bin/python
8 bên dưới bằng phiên bản Python (tức là
$ which python
/usr/bin/python
9).

cd /usr/local/src
wget https://www.python.org/ftp/python/X.X.X/Python-X.X.X.tgz
tar vzxf Python-X.X.X.tgz

Trước khi xây dựng và cài đặt, hãy đặt biến môi trường

$ python -V
Pyhton 2.7.12
0 với các cờ biên dịch C cần thiết (xem tài liệu
$ python -V
Pyhton 2.7.12
1 của GNU). Điều này thường không cần thiết cho việc sử dụng chung, nhưng nếu, ví dụ, bạn sẽ tạo ra một plugin UWSGI với phiên bản Python này, bạn có thể muốn đặt cờ,
$ python -V
Pyhton 2.7.12
2, với phần sau:

export CFLAGS='-fPIC'

Thay đổi thư mục làm việc thành thư mục nguồn Python được giải nén và định cấu hình bản dựng. Có lẽ bạn sẽ muốn sử dụng tùy chọn

$ python -V
Pyhton 2.7.12
3 trên lệnh
$ python -V
Pyhton 2.7.12
4 để tối ưu hóa có hướng dẫn hồ sơ. Sử dụng
$ python -V
Pyhton 2.7.12
5 để cài đặt vào các thư mục con thích hợp (
$ python -V
Pyhton 2.7.12
6,
$ python -V
Pyhton 2.7.12
7, v.v.).

cd Python-X.X.X
./configure --enable-optimizations --prefix=/usr/local

Xây dựng dự án với

$ python -V
Pyhton 2.7.12
1 và cài đặt với
$ python -V
Pyhton 2.7.12
9 để tránh ghi đè bất kỳ tệp nào khi cài đặt nhiều phiên bản. Xem cảnh báo trên trang này của tài liệu xây dựng Python.

make -j 4
make altinstall

Sau đó, bạn sẽ có thể chạy các phiên bản Python và PIP mới của bạn với

$ sudo apt-get install -y make build-essential libssl-dev zlib1g-dev \
libbz2-dev libreadline-dev libsqlite3-dev wget curl llvm libncurses5-dev \
libncursesw5-dev xz-utils tk-dev libffi-dev liblzma-dev python-openssl
0 và
$ sudo apt-get install -y make build-essential libssl-dev zlib1g-dev \
libbz2-dev libreadline-dev libsqlite3-dev wget curl llvm libncurses5-dev \
libncursesw5-dev xz-utils tk-dev libffi-dev liblzma-dev python-openssl
1 (tức là
$ sudo apt-get install -y make build-essential libssl-dev zlib1g-dev \
libbz2-dev libreadline-dev libsqlite3-dev wget curl llvm libncurses5-dev \
libncursesw5-dev xz-utils tk-dev libffi-dev liblzma-dev python-openssl
2 và
$ sudo apt-get install -y make build-essential libssl-dev zlib1g-dev \
libbz2-dev libreadline-dev libsqlite3-dev wget curl llvm libncurses5-dev \
libncursesw5-dev xz-utils tk-dev libffi-dev liblzma-dev python-openssl
3). Lưu ý rằng nếu phiên bản nhỏ của cài đặt mới của bạn giống như phiên bản của OS (ví dụ: nếu bạn đã cài đặt Python3.8.4 và HĐH đã sử dụng Python3.8.2), thì bạn sẽ cần chỉ định toàn bộ đường dẫn (____74) hoặc đặt Một bí danh để sử dụng phiên bản này.

Xem bây giờ hướng dẫn này có một khóa học video liên quan được tạo bởi nhóm Python thực sự. Xem cùng với hướng dẫn bằng văn bản để hiểu sâu hơn về sự hiểu biết của bạn: Bắt đầu quản lý nhiều phiên bản Python với PyenV This tutorial has a related video course created by the Real Python team. Watch it together with the written tutorial to deepen your understanding: Start Managing Multiple Python Versions With pyenv

Chúng ta có thể cài đặt 2 phiên bản Python trong Windows không?

Cài đặt nhiều phiên bản của Python. Chuyển đổi giữa các phiên bản đã cài đặt. Sử dụng môi trường ảo với pyenv. Kích hoạt các phiên bản Python và môi trường ảo khác nhau tự động.

Tôi có thể chạy 2 phiên bản Python không?

  1. Cài đặt nhiều phiên bản Python
  2. Chuyển đổi giữa các phiên bản đã cài đặt
  3. Chuyển đổi giữa các phiên bản đã cài đặt
  4. Sử dụng môi trường ảo với
    $ sudo apt-get install -y make build-essential libssl-dev zlib1g-dev \
    libbz2-dev libreadline-dev libsqlite3-dev wget curl llvm libncurses5-dev \
    libncursesw5-dev xz-utils tk-dev libffi-dev liblzma-dev python-openssl
    
    5
  5. Kích hoạt các phiên bản python và môi trường ảo khác nhau tự động

Nếu bạn vẫn còn thắc mắc, hãy thoải mái tiếp cận trong phần bình luận hoặc trên Twitter. Ngoài ra, tài liệu PYENV là một nguồn tài nguyên tuyệt vời.

Phần thưởng: Hiển thị tên môi trường của bạn trong dấu nhắc lệnh của bạn

Tại sao không sử dụng hệ thống Python?

Hệ thống của Python là con trăn được cài đặt trên hệ điều hành của bạn. Nếu bạn trên Mac hoặc Linux, thì theo mặc định, khi bạn nhập

$ sudo yum install gcc zlib-devel bzip2 bzip2-devel readline-devel sqlite \
sqlite-devel openssl-devel xz xz-devel libffi-devel
1 vào thiết bị đầu cuối của mình, bạn sẽ nhận được một Python tốt.

Vì vậy, tại sao không sử dụng nó? Một cách để xem xét nó là con trăn này thực sự thuộc về hệ điều hành. Rốt cuộc, nó đã được cài đặt với hệ điều hành. Điều đó thậm chí còn phản ánh khi bạn chạy

$ sudo yum install gcc zlib-devel bzip2 bzip2-devel readline-devel sqlite \
sqlite-devel openssl-devel xz xz-devel libffi-devel
2:

$ which python
/usr/bin/python

Ở đây,

$ sudo yum install gcc zlib-devel bzip2 bzip2-devel readline-devel sqlite \
sqlite-devel openssl-devel xz xz-devel libffi-devel
1 có sẵn cho tất cả người dùng được chứng minh bằng vị trí của nó
$ sudo yum install gcc zlib-devel bzip2 bzip2-devel readline-devel sqlite \
sqlite-devel openssl-devel xz xz-devel libffi-devel
4. Rất có thể, đây là phiên bản của Python mà bạn muốn:

$ python -V
Pyhton 2.7.12

Để cài đặt gói vào Python hệ thống của bạn, bạn phải chạy

$ sudo yum install gcc zlib-devel bzip2 bzip2-devel readline-devel sqlite \
sqlite-devel openssl-devel xz xz-devel libffi-devel
5. Đó là vì bạn đã cài đặt gói Python trên toàn cầu, đây là một vấn đề thực sự nếu một người dùng khác xuất hiện và muốn cài đặt phiên bản cũ hơn một chút của gói.

Các vấn đề với nhiều phiên bản của cùng một gói có xu hướng leo lên bạn và cắn bạn khi bạn ít mong đợi nhất. Một cách phổ biến, vấn đề này thể hiện chính nó là một gói phổ biến và ổn định đột nhiên sai trên hệ thống của bạn. Sau nhiều giờ khắc phục sự cố và googling, bạn có thể thấy rằng bạn đã cài đặt sai phiên bản phụ thuộc, và nó làm hỏng ngày của bạn.

Ngay cả khi phiên bản Python của bạn được cài đặt trong

$ sudo yum install gcc zlib-devel bzip2 bzip2-devel readline-devel sqlite \
sqlite-devel openssl-devel xz xz-devel libffi-devel
6, bạn vẫn không an toàn. Bạn sẽ chạy vào cùng một quyền và các vấn đề linh hoạt được mô tả ở trên.

Ngoài ra, bạn không thực sự có nhiều quyền kiểm soát đối với phiên bản Python nào được cài đặt trên hệ điều hành của bạn. Nếu bạn muốn sử dụng các tính năng mới nhất trong Python và bạn đã sử dụng Ubuntu chẳng hạn, bạn có thể không gặp may. Các phiên bản mặc định có thể quá cũ, điều đó có nghĩa là bạn sẽ phải chờ một hệ điều hành mới xuất hiện.

Cuối cùng, một số hệ điều hành thực sự sử dụng python đóng gói cho hoạt động. Lấy

$ sudo yum install gcc zlib-devel bzip2 bzip2-devel readline-devel sqlite \
sqlite-devel openssl-devel xz xz-devel libffi-devel
7 chẳng hạn, điều này sử dụng Python nặng để thực hiện công việc của mình. Nếu bạn cài đặt một phiên bản mới của Python và aren cẩn thận để cài đặt nó vào không gian người dùng của mình, bạn có thể làm hỏng nghiêm trọng khả năng sử dụng hệ điều hành của mình.

Còn người quản lý gói thì sao?

Nơi logic tiếp theo để xem là người quản lý gói. Các chương trình như

$ sudo yum install gcc zlib-devel bzip2 bzip2-devel readline-devel sqlite \
sqlite-devel openssl-devel xz xz-devel libffi-devel
8,
$ sudo yum install gcc zlib-devel bzip2 bzip2-devel readline-devel sqlite \
sqlite-devel openssl-devel xz xz-devel libffi-devel
7,
$ brew install openssl readline sqlite3 xz zlib
0 hoặc
$ brew install openssl readline sqlite3 xz zlib
1 là các tùy chọn tiếp theo điển hình. Rốt cuộc, đây là cách bạn cài đặt hầu hết các gói vào hệ thống của mình. Thật không may, bạn sẽ tìm thấy một số vấn đề tương tự bằng cách sử dụng trình quản lý gói.

Theo mặc định, người quản lý gói có xu hướng cài đặt các gói của họ vào không gian hệ thống toàn cầu thay vì không gian người dùng. Một lần nữa, các gói cấp hệ thống này gây ô nhiễm môi trường phát triển của bạn và làm cho việc chia sẻ không gian làm việc với những người khác khó khăn.

Một lần nữa, bạn vẫn không có quyền kiểm soát phiên bản Python bạn có thể cài đặt. Nó đúng một số kho lưu trữ cung cấp cho bạn một lựa chọn lớn hơn, nhưng theo mặc định, bạn đã xem xét bất kỳ phiên bản nào của Python nhà cung cấp cụ thể của bạn sẽ vào bất kỳ ngày nào.

Ngay cả khi bạn cài đặt Python từ Trình quản lý gói, hãy xem xét điều gì sẽ xảy ra nếu bạn viết gói và muốn hỗ trợ và kiểm tra trên Python 3.4 - 3.7.

Điều gì sẽ xảy ra trên hệ thống của bạn khi bạn nhập

$ brew install openssl readline sqlite3 xz zlib
2? Làm thế nào bạn sẽ chuyển đổi nhanh chóng giữa các phiên bản khác nhau? Bạn chắc chắn có thể làm điều đó, nhưng nó tẻ nhạt và dễ bị lỗi. Đừng bận tâm đến thực tế là nếu bạn muốn Pypy, Jython hoặc Miniconda, thì bạn có thể không gặp may mắn với người quản lý gói của bạn.

Với những ràng buộc này, hãy để tóm tắt lại các tiêu chí cho phép bạn cài đặt và quản lý các phiên bản Python một cách dễ dàng và linh hoạt:

  1. Cài đặt Python trong không gian người dùng của bạn
  2. Cài đặt nhiều phiên bản Python
  3. Chỉ định phiên bản Python chính xác mà bạn muốn
  4. Chuyển đổi giữa các phiên bản đã cài đặt

$ sudo apt-get install -y make build-essential libssl-dev zlib1g-dev \
libbz2-dev libreadline-dev libsqlite3-dev wget curl llvm libncurses5-dev \
libncursesw5-dev xz-utils tk-dev libffi-dev liblzma-dev python-openssl
5 cho phép bạn làm tất cả những điều này và hơn thế nữa.

Cài đặt $ sudo apt-get install -y make build-essential libssl-dev zlib1g-dev \ libbz2-dev libreadline-dev libsqlite3-dev wget curl llvm libncurses5-dev \ libncursesw5-dev xz-utils tk-dev libffi-dev liblzma-dev python-openssl 5

Trước khi bạn tự cài đặt

$ sudo apt-get install -y make build-essential libssl-dev zlib1g-dev \
libbz2-dev libreadline-dev libsqlite3-dev wget curl llvm libncurses5-dev \
libncursesw5-dev xz-utils tk-dev libffi-dev liblzma-dev python-openssl
5, bạn sẽ cần một số phụ thuộc dành riêng cho hệ điều hành. Những phụ thuộc này chủ yếu là các tiện ích phát triển được viết bằng C và được yêu cầu vì
$ sudo apt-get install -y make build-essential libssl-dev zlib1g-dev \
libbz2-dev libreadline-dev libsqlite3-dev wget curl llvm libncurses5-dev \
libncursesw5-dev xz-utils tk-dev libffi-dev liblzma-dev python-openssl
5 cài đặt Python bằng cách xây dựng từ nguồn. Để biết sự cố và giải thích chi tiết hơn về các phụ thuộc xây dựng, bạn có thể kiểm tra các tài liệu chính thức. Trong hướng dẫn này, bạn sẽ thấy những cách phổ biến nhất để cài đặt các phụ thuộc này.

Xây dựng sự phụ thuộc

$ sudo apt-get install -y make build-essential libssl-dev zlib1g-dev \
libbz2-dev libreadline-dev libsqlite3-dev wget curl llvm libncurses5-dev \
libncursesw5-dev xz-utils tk-dev libffi-dev liblzma-dev python-openssl
5 xây dựng Python từ nguồn, điều đó có nghĩa là bạn sẽ cần các phụ thuộc xây dựng để thực sự sử dụng
$ sudo apt-get install -y make build-essential libssl-dev zlib1g-dev \
libbz2-dev libreadline-dev libsqlite3-dev wget curl llvm libncurses5-dev \
libncursesw5-dev xz-utils tk-dev libffi-dev liblzma-dev python-openssl
5. Các phụ thuộc xây dựng khác nhau tùy theo nền tảng. Nếu bạn đang sử dụng Ubuntu/Debian và muốn cài đặt các phụ thuộc xây dựng, bạn có thể sử dụng các mục sau:Ubuntu/Debian and want to install the build dependencies, you could use the following:

$ sudo apt-get install -y make build-essential libssl-dev zlib1g-dev \
libbz2-dev libreadline-dev libsqlite3-dev wget curl llvm libncurses5-dev \
libncursesw5-dev xz-utils tk-dev libffi-dev liblzma-dev python-openssl

Điều này sử dụng APT để cài đặt tất cả các phụ thuộc xây dựng. Hãy để điều này chạy, và bạn sẽ sẵn sàng để đi cho các hệ thống Debian.

Nếu bạn sử dụng fedora/centos/rhel, bạn có thể sử dụng

$ sudo yum install gcc zlib-devel bzip2 bzip2-devel readline-devel sqlite \
sqlite-devel openssl-devel xz xz-devel libffi-devel
7 để cài đặt các phụ thuộc xây dựng của mình:Fedora/CentOS/RHEL, you could use
$ sudo yum install gcc zlib-devel bzip2 bzip2-devel readline-devel sqlite \
sqlite-devel openssl-devel xz xz-devel libffi-devel
7 to install your build dependencies:

$ sudo yum install gcc zlib-devel bzip2 bzip2-devel readline-devel sqlite \
sqlite-devel openssl-devel xz xz-devel libffi-devel

Lệnh này sẽ cài đặt tất cả các phụ thuộc xây dựng cho Python bằng cách sử dụng

$ sudo yum install gcc zlib-devel bzip2 bzip2-devel readline-devel sqlite \
sqlite-devel openssl-devel xz xz-devel libffi-devel
7.

Người dùng MacOS có thể sử dụng lệnh sau: users can use the following command:

$ brew install openssl readline sqlite3 xz zlib

Lệnh này dựa trên homebrew và cài đặt một vài phụ thuộc cho người dùng macOS.

Nếu bạn thay vào đó sử dụng OpenSuse thì bạn sẽ chạy như sau:openSUSE then you would run the following:

cd /usr/local/src
wget https://www.python.org/ftp/python/X.X.X/Python-X.X.X.tgz
tar vzxf Python-X.X.X.tgz
0

Một lần nữa, lệnh này cài đặt tất cả các phụ thuộc xây dựng Python cho hệ thống của bạn.

Cuối cùng, đối với người dùng Alpine, bạn có thể sử dụng điều này:Alpine users, you can use this:

cd /usr/local/src
wget https://www.python.org/ftp/python/X.X.X/Python-X.X.X.tgz
tar vzxf Python-X.X.X.tgz
1

Lệnh này sử dụng

cd /usr/local/src
wget https://www.python.org/ftp/python/X.X.X/Python-X.X.X.tgz
tar vzxf Python-X.X.X.tgz
01 làm trình quản lý gói và sẽ cài đặt tất cả các phụ thuộc xây dựng cho Python trên Alpine.

Sử dụng pyenv-installer

Sau khi bạn cài đặt các phụ thuộc xây dựng, bạn đã sẵn sàng để tự cài đặt

$ sudo apt-get install -y make build-essential libssl-dev zlib1g-dev \
libbz2-dev libreadline-dev libsqlite3-dev wget curl llvm libncurses5-dev \
libncursesw5-dev xz-utils tk-dev libffi-dev liblzma-dev python-openssl
5. Tôi khuyên bạn nên sử dụng dự án PyenV-Installer:

cd /usr/local/src
wget https://www.python.org/ftp/python/X.X.X/Python-X.X.X.tgz
tar vzxf Python-X.X.X.tgz
2

Điều này sẽ cài đặt

$ sudo apt-get install -y make build-essential libssl-dev zlib1g-dev \
libbz2-dev libreadline-dev libsqlite3-dev wget curl llvm libncurses5-dev \
libncursesw5-dev xz-utils tk-dev libffi-dev liblzma-dev python-openssl
5 cùng với một vài plugin hữu ích:

  1. $ sudo apt-get install -y make build-essential libssl-dev zlib1g-dev \
    libbz2-dev libreadline-dev libsqlite3-dev wget curl llvm libncurses5-dev \
    libncursesw5-dev xz-utils tk-dev libffi-dev liblzma-dev python-openssl
    
    5: Ứng dụng
    $ sudo apt-get install -y make build-essential libssl-dev zlib1g-dev \
    libbz2-dev libreadline-dev libsqlite3-dev wget curl llvm libncurses5-dev \
    libncursesw5-dev xz-utils tk-dev libffi-dev liblzma-dev python-openssl
    
    5 thực tế
    : The actual
    $ sudo apt-get install -y make build-essential libssl-dev zlib1g-dev \
    libbz2-dev libreadline-dev libsqlite3-dev wget curl llvm libncurses5-dev \
    libncursesw5-dev xz-utils tk-dev libffi-dev liblzma-dev python-openssl
    
    5 application
  2. cd /usr/local/src
    wget https://www.python.org/ftp/python/X.X.X/Python-X.X.X.tgz
    tar vzxf Python-X.X.X.tgz
    
    06: plugin cho
    $ sudo apt-get install -y make build-essential libssl-dev zlib1g-dev \
    libbz2-dev libreadline-dev libsqlite3-dev wget curl llvm libncurses5-dev \
    libncursesw5-dev xz-utils tk-dev libffi-dev liblzma-dev python-openssl
    
    5 và môi trường ảo
    : Plugin for
    $ sudo apt-get install -y make build-essential libssl-dev zlib1g-dev \
    libbz2-dev libreadline-dev libsqlite3-dev wget curl llvm libncurses5-dev \
    libncursesw5-dev xz-utils tk-dev libffi-dev liblzma-dev python-openssl
    
    5 and virtual environments
  3. cd /usr/local/src
    wget https://www.python.org/ftp/python/X.X.X/Python-X.X.X.tgz
    tar vzxf Python-X.X.X.tgz
    
    08: Plugin để cập nhật
    $ sudo apt-get install -y make build-essential libssl-dev zlib1g-dev \
    libbz2-dev libreadline-dev libsqlite3-dev wget curl llvm libncurses5-dev \
    libncursesw5-dev xz-utils tk-dev libffi-dev liblzma-dev python-openssl
    
    5
    : Plugin for updating
    $ sudo apt-get install -y make build-essential libssl-dev zlib1g-dev \
    libbz2-dev libreadline-dev libsqlite3-dev wget curl llvm libncurses5-dev \
    libncursesw5-dev xz-utils tk-dev libffi-dev liblzma-dev python-openssl
    
    5
  4. cd /usr/local/src
    wget https://www.python.org/ftp/python/X.X.X/Python-X.X.X.tgz
    tar vzxf Python-X.X.X.tgz
    
    10: plugin để xác minh rằng
    $ sudo apt-get install -y make build-essential libssl-dev zlib1g-dev \
    libbz2-dev libreadline-dev libsqlite3-dev wget curl llvm libncurses5-dev \
    libncursesw5-dev xz-utils tk-dev libffi-dev liblzma-dev python-openssl
    
    5 và phụ thuộc xây dựng được cài đặt
    : Plugin to verify that
    $ sudo apt-get install -y make build-essential libssl-dev zlib1g-dev \
    libbz2-dev libreadline-dev libsqlite3-dev wget curl llvm libncurses5-dev \
    libncursesw5-dev xz-utils tk-dev libffi-dev liblzma-dev python-openssl
    
    5 and build dependencies are installed
  5. cd /usr/local/src
    wget https://www.python.org/ftp/python/X.X.X/Python-X.X.X.tgz
    tar vzxf Python-X.X.X.tgz
    
    12: plugin để tự động tra cứu các lệnh hệ thống
    : Plugin to automatically lookup system commands

Khi kết thúc cuộc chạy, bạn sẽ thấy một cái gì đó như thế này:

cd /usr/local/src
wget https://www.python.org/ftp/python/X.X.X/Python-X.X.X.tgz
tar vzxf Python-X.X.X.tgz
3

Đầu ra sẽ dựa trên vỏ của bạn. Nhưng bạn nên làm theo các hướng dẫn để thêm

$ sudo apt-get install -y make build-essential libssl-dev zlib1g-dev \
libbz2-dev libreadline-dev libsqlite3-dev wget curl llvm libncurses5-dev \
libncursesw5-dev xz-utils tk-dev libffi-dev liblzma-dev python-openssl
5 vào đường dẫn của bạn và khởi tạo ________ 75/________ 106 Hoàn thành tự động. Khi bạn đã thực hiện việc này, bạn cần tải lại shell của mình:

cd /usr/local/src
wget https://www.python.org/ftp/python/X.X.X/Python-X.X.X.tgz
tar vzxf Python-X.X.X.tgz
4

Đó là nó. Bây giờ bạn đã cài đặt

$ sudo apt-get install -y make build-essential libssl-dev zlib1g-dev \
libbz2-dev libreadline-dev libsqlite3-dev wget curl llvm libncurses5-dev \
libncursesw5-dev xz-utils tk-dev libffi-dev liblzma-dev python-openssl
5 và bốn plugin hữu ích.

Sử dụng $ sudo apt-get install -y make build-essential libssl-dev zlib1g-dev \ libbz2-dev libreadline-dev libsqlite3-dev wget curl llvm libncurses5-dev \ libncursesw5-dev xz-utils tk-dev libffi-dev liblzma-dev python-openssl 5 để cài đặt Python

Bây giờ bạn đã cài đặt

$ sudo apt-get install -y make build-essential libssl-dev zlib1g-dev \
libbz2-dev libreadline-dev libsqlite3-dev wget curl llvm libncurses5-dev \
libncursesw5-dev xz-utils tk-dev libffi-dev liblzma-dev python-openssl
5, cài đặt Python là bước tiếp theo. Bạn có nhiều phiên bản Python để lựa chọn. Nếu bạn muốn xem tất cả các CPython 3.6 đến 3.8 có sẵn, bạn có thể làm điều này:

cd /usr/local/src
wget https://www.python.org/ftp/python/X.X.X/Python-X.X.X.tgz
tar vzxf Python-X.X.X.tgz
5

Trên đây cho thấy tất cả các phiên bản Python mà

$ sudo apt-get install -y make build-essential libssl-dev zlib1g-dev \
libbz2-dev libreadline-dev libsqlite3-dev wget curl llvm libncurses5-dev \
libncursesw5-dev xz-utils tk-dev libffi-dev liblzma-dev python-openssl
5 biết về điều đó phù hợp với biểu thức thông thường. Trong trường hợp này, đó là tất cả các phiên bản Cpython có sẵn 3,6 đến 3,8. Tương tự như vậy, nếu bạn muốn xem tất cả các phiên bản Jython, bạn có thể làm điều này:

cd /usr/local/src
wget https://www.python.org/ftp/python/X.X.X/Python-X.X.X.tgz
tar vzxf Python-X.X.X.tgz
6

Một lần nữa, bạn có thể thấy tất cả các phiên bản Jython mà

$ sudo apt-get install -y make build-essential libssl-dev zlib1g-dev \
libbz2-dev libreadline-dev libsqlite3-dev wget curl llvm libncurses5-dev \
libncursesw5-dev xz-utils tk-dev libffi-dev liblzma-dev python-openssl
5 cung cấp. Nếu bạn muốn xem tất cả các phiên bản, bạn có thể làm như sau:

cd /usr/local/src
wget https://www.python.org/ftp/python/X.X.X/Python-X.X.X.tgz
tar vzxf Python-X.X.X.tgz
7

Khi bạn tìm thấy phiên bản bạn muốn, bạn có thể cài đặt nó bằng một lệnh duy nhất:

cd /usr/local/src
wget https://www.python.org/ftp/python/X.X.X/Python-X.X.X.tgz
tar vzxf Python-X.X.X.tgz
8

Điều này sẽ mất một thời gian vì

$ sudo apt-get install -y make build-essential libssl-dev zlib1g-dev \
libbz2-dev libreadline-dev libsqlite3-dev wget curl llvm libncurses5-dev \
libncursesw5-dev xz-utils tk-dev libffi-dev liblzma-dev python-openssl
5 đang xây dựng Python từ nguồn, nhưng một khi nó đã hoàn thành, bạn sẽ có Python 3.7.2 có sẵn trên máy địa phương của bạn. Nếu bạn không muốn xem tất cả các đầu ra, chỉ cần tháo cờ
cd /usr/local/src
wget https://www.python.org/ftp/python/X.X.X/Python-X.X.X.tgz
tar vzxf Python-X.X.X.tgz
22. Ngay cả các phiên bản phát triển của CPython cũng có thể được cài đặt:

Đối với phần còn lại của hướng dẫn, các ví dụ cho rằng bạn đã cài đặt

cd /usr/local/src
wget https://www.python.org/ftp/python/X.X.X/Python-X.X.X.tgz
tar vzxf Python-X.X.X.tgz
23 và
cd /usr/local/src
wget https://www.python.org/ftp/python/X.X.X/Python-X.X.X.tgz
tar vzxf Python-X.X.X.tgz
24, nhưng bạn có thể tự do thay thế các giá trị này cho các phiên bản Python bạn thực sự đã cài đặt. Cũng lưu ý rằng phiên bản Python hệ thống trong các ví dụ là
cd /usr/local/src
wget https://www.python.org/ftp/python/X.X.X/Python-X.X.X.tgz
tar vzxf Python-X.X.X.tgz
25.

Vị trí lắp đặt

Như đã đề cập trước đây,

$ sudo apt-get install -y make build-essential libssl-dev zlib1g-dev \
libbz2-dev libreadline-dev libsqlite3-dev wget curl llvm libncurses5-dev \
libncursesw5-dev xz-utils tk-dev libffi-dev liblzma-dev python-openssl
5 hoạt động bằng cách xây dựng Python từ nguồn. Mỗi phiên bản mà bạn đã cài đặt được đặt độc đáo trong thư mục gốc ____ của bạn:

cd /usr/local/src
wget https://www.python.org/ftp/python/X.X.X/Python-X.X.X.tgz
tar vzxf Python-X.X.X.tgz
9

Tất cả các phiên bản của bạn sẽ được đặt tại đây. Điều này rất tiện lợi vì loại bỏ các phiên bản này là tầm thường:

export CFLAGS='-fPIC'
0

Tất nhiên

$ sudo apt-get install -y make build-essential libssl-dev zlib1g-dev \
libbz2-dev libreadline-dev libsqlite3-dev wget curl llvm libncurses5-dev \
libncursesw5-dev xz-utils tk-dev libffi-dev liblzma-dev python-openssl
5 cũng cung cấp một lệnh để gỡ cài đặt một phiên bản Python cụ thể:

Sử dụng Python mới của bạn

Bây giờ, bạn đã cài đặt một vài phiên bản Python khác nhau, hãy để Lừa xem một số điều cơ bản về cách sử dụng chúng. Đầu tiên, hãy kiểm tra phiên bản nào của Python bạn có sẵn:

export CFLAGS='-fPIC'
1

cd /usr/local/src
wget https://www.python.org/ftp/python/X.X.X/Python-X.X.X.tgz
tar vzxf Python-X.X.X.tgz
29 chỉ ra rằng phiên bản Python
cd /usr/local/src
wget https://www.python.org/ftp/python/X.X.X/Python-X.X.X.tgz
tar vzxf Python-X.X.X.tgz
30 hiện đang hoạt động. Bạn cũng sẽ nhận thấy rằng điều này được đặt bởi một tệp trong thư mục gốc ____ của bạn. Điều này có nghĩa là, theo mặc định, bạn vẫn đang sử dụng hệ thống Python của mình:

export CFLAGS='-fPIC'
2

Nếu bạn cố gắng xác nhận điều này bằng cách sử dụng

$ sudo yum install gcc zlib-devel bzip2 bzip2-devel readline-devel sqlite \
sqlite-devel openssl-devel xz xz-devel libffi-devel
2, bạn sẽ thấy điều này:

export CFLAGS='-fPIC'
3

Điều này có thể đáng ngạc nhiên, nhưng đây là cách

$ sudo apt-get install -y make build-essential libssl-dev zlib1g-dev \
libbz2-dev libreadline-dev libsqlite3-dev wget curl llvm libncurses5-dev \
libncursesw5-dev xz-utils tk-dev libffi-dev liblzma-dev python-openssl
5 hoạt động.
$ sudo apt-get install -y make build-essential libssl-dev zlib1g-dev \
libbz2-dev libreadline-dev libsqlite3-dev wget curl llvm libncurses5-dev \
libncursesw5-dev xz-utils tk-dev libffi-dev liblzma-dev python-openssl
5 tự chèn vào
cd /usr/local/src
wget https://www.python.org/ftp/python/X.X.X/Python-X.X.X.tgz
tar vzxf Python-X.X.X.tgz
35 của bạn và từ quan điểm OS OS của bạn là thực thi đang được gọi. Nếu bạn muốn xem đường dẫn thực tế, bạn có thể chạy như sau:

export CFLAGS='-fPIC'
4

Ví dụ, nếu bạn muốn sử dụng phiên bản 2.7.15, thì bạn có thể sử dụng lệnh

cd /usr/local/src
wget https://www.python.org/ftp/python/X.X.X/Python-X.X.X.tgz
tar vzxf Python-X.X.X.tgz
36:

export CFLAGS='-fPIC'
5

Nếu bạn từng muốn quay lại phiên bản hệ thống của Python làm mặc định, bạn có thể chạy điều này:

export CFLAGS='-fPIC'
6

Bây giờ bạn có thể chuyển đổi giữa các phiên bản khác nhau của Python một cách dễ dàng. Điều này chỉ là khởi đầu. Nếu bạn có nhiều phiên bản mà bạn muốn chuyển đổi giữa, việc nhập các lệnh này một cách nhất quán là tẻ nhạt. Phần này đi qua những điều cơ bản, nhưng một quy trình làm việc tốt hơn được mô tả khi làm việc với nhiều môi trường.

Khám phá các lệnh $ sudo apt-get install -y make build-essential libssl-dev zlib1g-dev \ libbz2-dev libreadline-dev libsqlite3-dev wget curl llvm libncurses5-dev \ libncursesw5-dev xz-utils tk-dev libffi-dev liblzma-dev python-openssl 5

$ sudo apt-get install -y make build-essential libssl-dev zlib1g-dev \
libbz2-dev libreadline-dev libsqlite3-dev wget curl llvm libncurses5-dev \
libncursesw5-dev xz-utils tk-dev libffi-dev liblzma-dev python-openssl
5 cung cấp nhiều lệnh. Bạn có thể thấy một danh sách đầy đủ của tất cả các lệnh có sẵn với điều này:

export CFLAGS='-fPIC'
7

Điều này xuất ra tất cả các tên lệnh. Mỗi lệnh có một cờ

cd /usr/local/src
wget https://www.python.org/ftp/python/X.X.X/Python-X.X.X.tgz
tar vzxf Python-X.X.X.tgz
39 sẽ cung cấp cho bạn thông tin chi tiết hơn. Ví dụ: nếu bạn muốn xem thêm thông tin về lệnh
cd /usr/local/src
wget https://www.python.org/ftp/python/X.X.X/Python-X.X.X.tgz
tar vzxf Python-X.X.X.tgz
40, bạn có thể chạy như sau:

export CFLAGS='-fPIC'
8

Thông báo trợ giúp mô tả những gì lệnh được sử dụng cho và bất kỳ tùy chọn nào bạn có thể sử dụng cùng với lệnh. Trong các phần sau, bạn sẽ tìm thấy một cái nhìn tổng quan về cấp độ cao, nhanh chóng về các lệnh được sử dụng nhiều nhất.

cd /usr/local/src wget https://www.python.org/ftp/python/X.X.X/Python-X.X.X.tgz tar vzxf Python-X.X.X.tgz 41

Bạn đã thấy lệnh

cd /usr/local/src
wget https://www.python.org/ftp/python/X.X.X/Python-X.X.X.tgz
tar vzxf Python-X.X.X.tgz
41 ở trên. Lệnh này có thể được sử dụng để cài đặt một phiên bản cụ thể của Python. Ví dụ: nếu bạn muốn cài đặt
cd /usr/local/src
wget https://www.python.org/ftp/python/X.X.X/Python-X.X.X.tgz
tar vzxf Python-X.X.X.tgz
23, bạn sẽ sử dụng điều này:

Đầu ra cho thấy chúng tôi tải xuống và cài đặt Python. Một số cờ phổ biến bạn có thể muốn sử dụng là như sau:

Lá cờSự mô tả
cd /usr/local/src
wget https://www.python.org/ftp/python/X.X.X/Python-X.X.X.tgz
tar vzxf Python-X.X.X.tgz
45
Danh sách tất cả các phiên bản Python có sẵn để cài đặt
cd /usr/local/src
wget https://www.python.org/ftp/python/X.X.X/Python-X.X.X.tgz
tar vzxf Python-X.X.X.tgz
46
Xây dựng phiên bản gỡ lỗi của Python
cd /usr/local/src
wget https://www.python.org/ftp/python/X.X.X/Python-X.X.X.tgz
tar vzxf Python-X.X.X.tgz
47
Chế độ Verbose: Trạng thái tổng hợp in vào stdout

cd /usr/local/src wget https://www.python.org/ftp/python/X.X.X/Python-X.X.X.tgz tar vzxf Python-X.X.X.tgz 48

Lệnh

cd /usr/local/src
wget https://www.python.org/ftp/python/X.X.X/Python-X.X.X.tgz
tar vzxf Python-X.X.X.tgz
48 hiển thị tất cả các phiên bản Python hiện đã được cài đặt:

export CFLAGS='-fPIC'
1

Đầu ra này không chỉ cho thấy

cd /usr/local/src
wget https://www.python.org/ftp/python/X.X.X/Python-X.X.X.tgz
tar vzxf Python-X.X.X.tgz
24,
cd /usr/local/src
wget https://www.python.org/ftp/python/X.X.X/Python-X.X.X.tgz
tar vzxf Python-X.X.X.tgz
23,
cd /usr/local/src
wget https://www.python.org/ftp/python/X.X.X/Python-X.X.X.tgz
tar vzxf Python-X.X.X.tgz
52 và
cd /usr/local/src
wget https://www.python.org/ftp/python/X.X.X/Python-X.X.X.tgz
tar vzxf Python-X.X.X.tgz
30 Python của bạn được cài đặt, mà còn cho bạn thấy rằng
cd /usr/local/src
wget https://www.python.org/ftp/python/X.X.X/Python-X.X.X.tgz
tar vzxf Python-X.X.X.tgz
30 Python đang hoạt động. Nếu bạn chỉ quan tâm đến phiên bản hoạt động hiện tại, bạn có thể sử dụng lệnh sau:

cd Python-X.X.X
./configure --enable-optimizations --prefix=/usr/local
0

Lệnh này tương tự như

cd /usr/local/src
wget https://www.python.org/ftp/python/X.X.X/Python-X.X.X.tgz
tar vzxf Python-X.X.X.tgz
48 nhưng chỉ hiển thị cho bạn phiên bản Python hoạt động hiện tại.

$ sudo yum install gcc zlib-devel bzip2 bzip2-devel readline-devel sqlite \ sqlite-devel openssl-devel xz xz-devel libffi-devel 2

Lệnh

$ sudo yum install gcc zlib-devel bzip2 bzip2-devel readline-devel sqlite \
sqlite-devel openssl-devel xz xz-devel libffi-devel
2 rất hữu ích để xác định đường dẫn đầy đủ đến một hệ thống có thể thực thi. Vì
$ sudo apt-get install -y make build-essential libssl-dev zlib1g-dev \
libbz2-dev libreadline-dev libsqlite3-dev wget curl llvm libncurses5-dev \
libncursesw5-dev xz-utils tk-dev libffi-dev liblzma-dev python-openssl
5 hoạt động bằng cách sử dụng các miếng chêm, lệnh này cho phép bạn nhìn thấy đường dẫn đầy đủ đến
$ sudo apt-get install -y make build-essential libssl-dev zlib1g-dev \
libbz2-dev libreadline-dev libsqlite3-dev wget curl llvm libncurses5-dev \
libncursesw5-dev xz-utils tk-dev libffi-dev liblzma-dev python-openssl
5 có thể thực thi đang chạy. Ví dụ: nếu bạn muốn xem
cd /usr/local/src
wget https://www.python.org/ftp/python/X.X.X/Python-X.X.X.tgz
tar vzxf Python-X.X.X.tgz
60 được cài đặt ở đâu, bạn có thể chạy cái này:

cd Python-X.X.X
./configure --enable-optimizations --prefix=/usr/local
1

Đầu ra hiển thị đường dẫn hệ thống đầy đủ cho

cd /usr/local/src
wget https://www.python.org/ftp/python/X.X.X/Python-X.X.X.tgz
tar vzxf Python-X.X.X.tgz
60. Điều này có thể hữu ích khi bạn đã cài đặt các ứng dụng dòng lệnh.

cd /usr/local/src wget https://www.python.org/ftp/python/X.X.X/Python-X.X.X.tgz tar vzxf Python-X.X.X.tgz 36

Lệnh

cd /usr/local/src
wget https://www.python.org/ftp/python/X.X.X/Python-X.X.X.tgz
tar vzxf Python-X.X.X.tgz
36 đặt phiên bản Python toàn cầu. Điều này có thể được ghi đè với các lệnh khác, nhưng rất hữu ích để đảm bảo bạn sử dụng một phiên bản Python cụ thể theo mặc định. Nếu bạn muốn sử dụng
cd /usr/local/src
wget https://www.python.org/ftp/python/X.X.X/Python-X.X.X.tgz
tar vzxf Python-X.X.X.tgz
23 theo mặc định, thì bạn có thể chạy cái này:

Lệnh này đặt

cd /usr/local/src
wget https://www.python.org/ftp/python/X.X.X/Python-X.X.X.tgz
tar vzxf Python-X.X.X.tgz
65 thành
cd /usr/local/src
wget https://www.python.org/ftp/python/X.X.X/Python-X.X.X.tgz
tar vzxf Python-X.X.X.tgz
23. Để biết thêm thông tin, hãy xem phần về việc chỉ định phiên bản Python của bạn.

cd /usr/local/src wget https://www.python.org/ftp/python/X.X.X/Python-X.X.X.tgz tar vzxf Python-X.X.X.tgz 67

Lệnh

cd /usr/local/src
wget https://www.python.org/ftp/python/X.X.X/Python-X.X.X.tgz
tar vzxf Python-X.X.X.tgz
67 thường được sử dụng để đặt phiên bản Python dành riêng cho ứng dụng. Bạn có thể sử dụng nó để đặt phiên bản thành
cd /usr/local/src
wget https://www.python.org/ftp/python/X.X.X/Python-X.X.X.tgz
tar vzxf Python-X.X.X.tgz
24:

Lệnh này tạo một tệp

cd /usr/local/src
wget https://www.python.org/ftp/python/X.X.X/Python-X.X.X.tgz
tar vzxf Python-X.X.X.tgz
70 trong thư mục hiện tại của bạn. Nếu bạn có
$ sudo apt-get install -y make build-essential libssl-dev zlib1g-dev \
libbz2-dev libreadline-dev libsqlite3-dev wget curl llvm libncurses5-dev \
libncursesw5-dev xz-utils tk-dev libffi-dev liblzma-dev python-openssl
5 hoạt động trong môi trường của mình, tệp này sẽ tự động kích hoạt phiên bản này cho bạn.

cd /usr/local/src wget https://www.python.org/ftp/python/X.X.X/Python-X.X.X.tgz tar vzxf Python-X.X.X.tgz 72

Lệnh

cd /usr/local/src
wget https://www.python.org/ftp/python/X.X.X/Python-X.X.X.tgz
tar vzxf Python-X.X.X.tgz
72 được sử dụng để đặt phiên bản Python dành riêng cho shell. Ví dụ: nếu bạn muốn kiểm tra phiên bản
cd /usr/local/src
wget https://www.python.org/ftp/python/X.X.X/Python-X.X.X.tgz
tar vzxf Python-X.X.X.tgz
52 của Python, bạn có thể làm điều này:

Lệnh này kích hoạt phiên bản được chỉ định bằng cách đặt biến môi trường

cd /usr/local/src
wget https://www.python.org/ftp/python/X.X.X/Python-X.X.X.tgz
tar vzxf Python-X.X.X.tgz
75. Lệnh này ghi đè bất kỳ ứng dụng hoặc cài đặt toàn cầu nào bạn có thể có. Nếu bạn muốn hủy kích hoạt phiên bản, bạn có thể sử dụng cờ
cd /usr/local/src
wget https://www.python.org/ftp/python/X.X.X/Python-X.X.X.tgz
tar vzxf Python-X.X.X.tgz
76.

Chỉ định phiên bản Python của bạn

Một trong những phần khó hiểu hơn của

$ sudo apt-get install -y make build-essential libssl-dev zlib1g-dev \
libbz2-dev libreadline-dev libsqlite3-dev wget curl llvm libncurses5-dev \
libncursesw5-dev xz-utils tk-dev libffi-dev liblzma-dev python-openssl
5 là cách chính xác lệnh
$ sudo yum install gcc zlib-devel bzip2 bzip2-devel readline-devel sqlite \
sqlite-devel openssl-devel xz xz-devel libffi-devel
1 được giải quyết và những lệnh nào có thể được sử dụng để sửa đổi nó. Như đã đề cập trong các lệnh, có 3 cách để sửa đổi phiên bản
$ sudo yum install gcc zlib-devel bzip2 bzip2-devel readline-devel sqlite \
sqlite-devel openssl-devel xz xz-devel libffi-devel
1 mà bạn sử dụng. Vậy làm thế nào để tất cả các lệnh này tương tác với nhau? Thứ tự độ phân giải trông hơi như thế này:

Hướng dẫn install different version of python - cài đặt phiên bản python khác nhau

Kim tự tháp này có nghĩa là được đọc từ trên xuống dưới. Các tùy chọn đầu tiên trong số này mà

$ sudo apt-get install -y make build-essential libssl-dev zlib1g-dev \
libbz2-dev libreadline-dev libsqlite3-dev wget curl llvm libncurses5-dev \
libncursesw5-dev xz-utils tk-dev libffi-dev liblzma-dev python-openssl
5 có thể tìm thấy là tùy chọn nó sẽ sử dụng. Hãy cùng xem một ví dụ nhanh:

export CFLAGS='-fPIC'
1

Ở đây,

cd /usr/local/src
wget https://www.python.org/ftp/python/X.X.X/Python-X.X.X.tgz
tar vzxf Python-X.X.X.tgz
30 Python của bạn đang được sử dụng như được biểu thị bằng
cd /usr/local/src
wget https://www.python.org/ftp/python/X.X.X/Python-X.X.X.tgz
tar vzxf Python-X.X.X.tgz
29. Để thực hiện cài đặt toàn cầu tiếp theo tiếp theo, bạn sử dụng
cd /usr/local/src
wget https://www.python.org/ftp/python/X.X.X/Python-X.X.X.tgz
tar vzxf Python-X.X.X.tgz
36:

cd Python-X.X.X
./configure --enable-optimizations --prefix=/usr/local
3

Bạn có thể thấy rằng bây giờ

$ sudo apt-get install -y make build-essential libssl-dev zlib1g-dev \
libbz2-dev libreadline-dev libsqlite3-dev wget curl llvm libncurses5-dev \
libncursesw5-dev xz-utils tk-dev libffi-dev liblzma-dev python-openssl
5 muốn sử dụng
cd /usr/local/src
wget https://www.python.org/ftp/python/X.X.X/Python-X.X.X.tgz
tar vzxf Python-X.X.X.tgz
23 làm phiên bản Python của chúng tôi. Nó thậm chí còn chỉ ra vị trí của tập tin nó tìm thấy. Tệp đó thực sự tồn tại và bạn có thể liệt kê nội dung của nó:

cd Python-X.X.X
./configure --enable-optimizations --prefix=/usr/local
4

Bây giờ, hãy để Lôi tạo một tệp

cd /usr/local/src
wget https://www.python.org/ftp/python/X.X.X/Python-X.X.X.tgz
tar vzxf Python-X.X.X.tgz
70 với
cd /usr/local/src
wget https://www.python.org/ftp/python/X.X.X/Python-X.X.X.tgz
tar vzxf Python-X.X.X.tgz
67:

cd Python-X.X.X
./configure --enable-optimizations --prefix=/usr/local
5

Ở đây một lần nữa,

$ sudo apt-get install -y make build-essential libssl-dev zlib1g-dev \
libbz2-dev libreadline-dev libsqlite3-dev wget curl llvm libncurses5-dev \
libncursesw5-dev xz-utils tk-dev libffi-dev liblzma-dev python-openssl
5 chỉ ra cách nó sẽ giải quyết lệnh
$ sudo yum install gcc zlib-devel bzip2 bzip2-devel readline-devel sqlite \
sqlite-devel openssl-devel xz xz-devel libffi-devel
1 của chúng tôi. Lần này nó đến từ
cd /usr/local/src
wget https://www.python.org/ftp/python/X.X.X/Python-X.X.X.tgz
tar vzxf Python-X.X.X.tgz
90. Lưu ý rằng việc tìm kiếm
cd /usr/local/src
wget https://www.python.org/ftp/python/X.X.X/Python-X.X.X.tgz
tar vzxf Python-X.X.X.tgz
70 là đệ quy:

cd Python-X.X.X
./configure --enable-optimizations --prefix=/usr/local
6

Mặc dù có một

cd /usr/local/src
wget https://www.python.org/ftp/python/X.X.X/Python-X.X.X.tgz
tar vzxf Python-X.X.X.tgz
70 trong
cd /usr/local/src
wget https://www.python.org/ftp/python/X.X.X/Python-X.X.X.tgz
tar vzxf Python-X.X.X.tgz
93, phiên bản vẫn được đặt thành
cd /usr/local/src
wget https://www.python.org/ftp/python/X.X.X/Python-X.X.X.tgz
tar vzxf Python-X.X.X.tgz
24 vì
cd /usr/local/src
wget https://www.python.org/ftp/python/X.X.X/Python-X.X.X.tgz
tar vzxf Python-X.X.X.tgz
70 tồn tại trong thư mục mẹ.

Cuối cùng, bạn có thể đặt phiên bản Python với

cd /usr/local/src
wget https://www.python.org/ftp/python/X.X.X/Python-X.X.X.tgz
tar vzxf Python-X.X.X.tgz
72:

cd Python-X.X.X
./configure --enable-optimizations --prefix=/usr/local
7

Tất cả điều này đã làm là đặt biến môi trường

cd /usr/local/src
wget https://www.python.org/ftp/python/X.X.X/Python-X.X.X.tgz
tar vzxf Python-X.X.X.tgz
97:

cd Python-X.X.X
./configure --enable-optimizations --prefix=/usr/local
8

Nếu bạn cảm thấy bị choáng ngợp bởi các tùy chọn, phần làm việc với nhiều môi trường sẽ vượt qua một quy trình có ý kiến ​​để quản lý các tệp này, chủ yếu sử dụng

cd /usr/local/src
wget https://www.python.org/ftp/python/X.X.X/Python-X.X.X.tgz
tar vzxf Python-X.X.X.tgz
67.

Môi trường ảo và $ sudo apt-get install -y make build-essential libssl-dev zlib1g-dev \ libbz2-dev libreadline-dev libsqlite3-dev wget curl llvm libncurses5-dev \ libncursesw5-dev xz-utils tk-dev libffi-dev liblzma-dev python-openssl 5

Môi trường ảo là một phần lớn trong việc quản lý các ứng dụng và cài đặt Python. Nếu bạn đã nghe nói về môi trường ảo trước đây, bạn có thể kiểm tra các môi trường ảo Python: một mồi.

Môi trường ảo và

$ sudo apt-get install -y make build-essential libssl-dev zlib1g-dev \
libbz2-dev libreadline-dev libsqlite3-dev wget curl llvm libncurses5-dev \
libncursesw5-dev xz-utils tk-dev libffi-dev liblzma-dev python-openssl
5 là một trận đấu được thực hiện trên thiên đường.
$ sudo apt-get install -y make build-essential libssl-dev zlib1g-dev \
libbz2-dev libreadline-dev libsqlite3-dev wget curl llvm libncurses5-dev \
libncursesw5-dev xz-utils tk-dev libffi-dev liblzma-dev python-openssl
5 có một plugin tuyệt vời có tên
cd /usr/local/src
wget https://www.python.org/ftp/python/X.X.X/Python-X.X.X.tgz
tar vzxf Python-X.X.X.tgz
06 giúp làm việc với nhiều phiên bản Python và nhiều môi trường ảo trở nên dễ dàng. Nếu bạn đang tự hỏi sự khác biệt là gì giữa
$ sudo apt-get install -y make build-essential libssl-dev zlib1g-dev \
libbz2-dev libreadline-dev libsqlite3-dev wget curl llvm libncurses5-dev \
libncursesw5-dev xz-utils tk-dev libffi-dev liblzma-dev python-openssl
5,
cd /usr/local/src
wget https://www.python.org/ftp/python/X.X.X/Python-X.X.X.tgz
tar vzxf Python-X.X.X.tgz
06 và các công cụ như
export CFLAGS='-fPIC'
05 hoặc
export CFLAGS='-fPIC'
06, thì đừng lo lắng. Bạn không cô đơn.

Ở đây, những gì bạn cần biết:

  • Pyenv quản lý nhiều phiên bản của Python. manages multiple versions of Python itself.
  • VirtualENV/VENV quản lý môi trường ảo cho một phiên bản Python cụ thể. manages virtual environments for a specific Python version.
  • Pyenv-virtualenv quản lý môi trường ảo cho các phiên bản khác nhau của Python. manages virtual environments for across varying versions of Python.

Nếu bạn là một người dùng

export CFLAGS='-fPIC'
05 hoặc
export CFLAGS='-fPIC'
06 khó tính, thì đừng lo lắng:
$ sudo apt-get install -y make build-essential libssl-dev zlib1g-dev \
libbz2-dev libreadline-dev libsqlite3-dev wget curl llvm libncurses5-dev \
libncursesw5-dev xz-utils tk-dev libffi-dev liblzma-dev python-openssl
5 chơi độc đáo với một trong hai. Trên thực tế, bạn có thể giữ cùng một quy trình công việc mà bạn đã có nếu bạn thích, mặc dù tôi nghĩ
cd /usr/local/src
wget https://www.python.org/ftp/python/X.X.X/Python-X.X.X.tgz
tar vzxf Python-X.X.X.tgz
06 tạo ra trải nghiệm đẹp hơn khi bạn chuyển đổi giữa nhiều môi trường yêu cầu các phiên bản Python khác nhau.

Tin tốt là vì bạn đã sử dụng tập lệnh

export CFLAGS='-fPIC'
11 để cài đặt
$ sudo apt-get install -y make build-essential libssl-dev zlib1g-dev \
libbz2-dev libreadline-dev libsqlite3-dev wget curl llvm libncurses5-dev \
libncursesw5-dev xz-utils tk-dev libffi-dev liblzma-dev python-openssl
5, bạn đã cài đặt
cd /usr/local/src
wget https://www.python.org/ftp/python/X.X.X/Python-X.X.X.tgz
tar vzxf Python-X.X.X.tgz
06 và sẵn sàng để đi.

Tạo môi trường ảo

Tạo môi trường ảo là một lệnh duy nhất:

cd Python-X.X.X
./configure --enable-optimizations --prefix=/usr/local
9

Về mặt kỹ thuật,

export CFLAGS='-fPIC'
14 là tùy chọn, nhưng bạn nên xem xét luôn chỉ định nó để bạn có thể chắc chắn về phiên bản Python mà bạn sử dụng.

export CFLAGS='-fPIC'
15 chỉ là một tên để bạn giúp giữ môi trường của bạn tách biệt. Một thực hành tốt là đặt tên cho môi trường của bạn cùng tên với dự án của bạn. Ví dụ: nếu bạn đang làm việc trên
export CFLAGS='-fPIC'
16 và muốn phát triển chống lại Python 3.6.8, bạn sẽ chạy điều này:

make -j 4
make altinstall
0

Đầu ra bao gồm các thông báo hiển thị một vài gói Python bổ sung được cài đặt, cụ thể là

export CFLAGS='-fPIC'
17,
cd /usr/local/src
wget https://www.python.org/ftp/python/X.X.X/Python-X.X.X.tgz
tar vzxf Python-X.X.X.tgz
60 và
export CFLAGS='-fPIC'
19. Điều này là nghiêm ngặt để thuận tiện và chỉ cần thiết lập một môi trường đặc trưng đầy đủ hơn cho mỗi môi trường ảo của bạn.

Kích hoạt các phiên bản của bạn

Bây giờ bạn đã tạo ra môi trường ảo của mình, sử dụng nó là bước tiếp theo. Thông thường, bạn nên kích hoạt môi trường của mình bằng cách chạy như sau:

Bạn đã thấy lệnh

export CFLAGS='-fPIC'
20 trước đây, nhưng lần này, thay vì chỉ định phiên bản Python, bạn chỉ định một môi trường. Điều này tạo ra một tệp
cd /usr/local/src
wget https://www.python.org/ftp/python/X.X.X/Python-X.X.X.tgz
tar vzxf Python-X.X.X.tgz
70 trong thư mục làm việc hiện tại của bạn và vì bạn đã chạy
export CFLAGS='-fPIC'
22 trong môi trường của mình, môi trường sẽ tự động được kích hoạt.

Bạn có thể xác minh điều này bằng cách chạy như sau:

make -j 4
make altinstall
1

Bạn có thể thấy một phiên bản mới đã được tạo ra được gọi là

export CFLAGS='-fPIC'
16 và
$ sudo yum install gcc zlib-devel bzip2 bzip2-devel readline-devel sqlite \
sqlite-devel openssl-devel xz xz-devel libffi-devel
1 thực thi đang trỏ đến phiên bản đó. Nếu bạn nhìn vào bất kỳ thực thi nào mà môi trường này cung cấp, bạn sẽ thấy điều tương tự. Lấy ví dụ,
cd /usr/local/src
wget https://www.python.org/ftp/python/X.X.X/Python-X.X.X.tgz
tar vzxf Python-X.X.X.tgz
60:

make -j 4
make altinstall
2

Nếu bạn không định cấu hình

export CFLAGS='-fPIC'
22 để chạy trong vỏ của mình, bạn có thể kích hoạt/hủy kích hoạt thủ công các phiên bản Python của mình với điều này:

make -j 4
make altinstall
3

Trên đây là những gì

cd /usr/local/src
wget https://www.python.org/ftp/python/X.X.X/Python-X.X.X.tgz
tar vzxf Python-X.X.X.tgz
06 đang làm khi nó nhập hoặc thoát một thư mục với tệp
cd /usr/local/src
wget https://www.python.org/ftp/python/X.X.X/Python-X.X.X.tgz
tar vzxf Python-X.X.X.tgz
70 trong đó.

Làm việc với nhiều môi trường

Đặt mọi thứ bạn đã học cùng nhau, bạn có thể làm việc hiệu quả với nhiều môi trường. Hãy giả sử bạn đã cài đặt các phiên bản sau:

export CFLAGS='-fPIC'
1

Bây giờ bạn muốn làm việc trên hai dự án khác nhau, được đặt tên một cách khéo léo:

  1. Project1 hỗ trợ Python 2.7 và 3.6. supports Python 2.7 and 3.6.
  2. Project2 hỗ trợ Python 3.6 và các thí nghiệm với 3,8-DEV. supports Python 3.6 and experiments with 3.8-dev.

Bạn có thể thấy rằng, theo mặc định, bạn đang sử dụng python hệ thống, được biểu thị bằng

cd /usr/local/src
wget https://www.python.org/ftp/python/X.X.X/Python-X.X.X.tgz
tar vzxf Python-X.X.X.tgz
29 trong đầu ra
export CFLAGS='-fPIC'
30. Đầu tiên, tạo môi trường ảo cho dự án đầu tiên:

make -j 4
make altinstall
5

Cuối cùng, lưu ý rằng khi bạn ra khỏi thư mục, bạn mặc định quay lại hệ thống Python:

make -j 4
make altinstall
6

Bạn có thể làm theo các bước trên và tạo môi trường ảo cho Project2:

make -j 4
make altinstall
7

Đây là những bước một lần cho các dự án của bạn. Bây giờ, khi bạn

export CFLAGS='-fPIC'
31 giữa các dự án, môi trường của bạn sẽ tự động kích hoạt:

make -j 4
make altinstall
8

Không còn nhớ để kích hoạt môi trường: bạn có thể chuyển đổi giữa tất cả các dự án của mình và

$ sudo apt-get install -y make build-essential libssl-dev zlib1g-dev \
libbz2-dev libreadline-dev libsqlite3-dev wget curl llvm libncurses5-dev \
libncursesw5-dev xz-utils tk-dev libffi-dev liblzma-dev python-openssl
5 sẽ chăm sóc tự động kích hoạt các phiên bản Python chính xác và môi trường ảo chính xác.

Kích hoạt đồng thời nhiều phiên bản

Như được mô tả trong ví dụ trên,

export CFLAGS='-fPIC'
34 sử dụng các tính năng thử nghiệm trong 3.8. Giả sử bạn muốn đảm bảo rằng mã của bạn vẫn hoạt động trên Python 3.6. Nếu bạn thử chạy
export CFLAGS='-fPIC'
35, bạn sẽ nhận được điều này:

make -j 4
make altinstall
9

$ sudo apt-get install -y make build-essential libssl-dev zlib1g-dev \
libbz2-dev libreadline-dev libsqlite3-dev wget curl llvm libncurses5-dev \
libncursesw5-dev xz-utils tk-dev libffi-dev liblzma-dev python-openssl
5 thông báo cho bạn rằng, trong khi Python 3.6 không có sẵn trong môi trường hoạt động hiện tại, nó có sẵn trong các môi trường khác.
$ sudo apt-get install -y make build-essential libssl-dev zlib1g-dev \
libbz2-dev libreadline-dev libsqlite3-dev wget curl llvm libncurses5-dev \
libncursesw5-dev xz-utils tk-dev libffi-dev liblzma-dev python-openssl
5 cung cấp cho bạn một cách để kích hoạt nhiều môi trường cùng một lúc bằng cách sử dụng lệnh quen thuộc:

$ which python
/usr/bin/python
0

Điều này cho thấy

$ sudo apt-get install -y make build-essential libssl-dev zlib1g-dev \
libbz2-dev libreadline-dev libsqlite3-dev wget curl llvm libncurses5-dev \
libncursesw5-dev xz-utils tk-dev libffi-dev liblzma-dev python-openssl
5 rằng bạn muốn sử dụng môi trường ảo
export CFLAGS='-fPIC'
34 làm tùy chọn đầu tiên. Vì vậy, nếu một lệnh, ví dụ
$ sudo yum install gcc zlib-devel bzip2 bzip2-devel readline-devel sqlite \
sqlite-devel openssl-devel xz xz-devel libffi-devel
1, có thể được giải quyết trong cả hai môi trường, nó sẽ chọn
export CFLAGS='-fPIC'
34 trước
cd /usr/local/src
wget https://www.python.org/ftp/python/X.X.X/Python-X.X.X.tgz
tar vzxf Python-X.X.X.tgz
23. Hãy để xem những gì xảy ra nếu bạn chạy điều này:

$ which python
/usr/bin/python
1

Ở đây,

$ sudo apt-get install -y make build-essential libssl-dev zlib1g-dev \
libbz2-dev libreadline-dev libsqlite3-dev wget curl llvm libncurses5-dev \
libncursesw5-dev xz-utils tk-dev libffi-dev liblzma-dev python-openssl
5 cố gắng tìm lệnh
export CFLAGS='-fPIC'
35 và vì nó tìm thấy nó trong một môi trường đang hoạt động, nó cho phép lệnh thực thi. Điều này cực kỳ hữu ích cho các công cụ như Tox yêu cầu nhiều phiên bản Python phải có sẵn trên
cd /usr/local/src
wget https://www.python.org/ftp/python/X.X.X/Python-X.X.X.tgz
tar vzxf Python-X.X.X.tgz
35 của bạn để thực hiện.

Giả sử rằng trong ví dụ trên, bạn đã tìm thấy một vấn đề tương thích với thư viện của mình và muốn thực hiện một số thử nghiệm cục bộ. Việc kiểm tra yêu cầu bạn cài đặt tất cả các phụ thuộc. Bạn nên làm theo các bước để tạo ra một môi trường mới:

$ which python
/usr/bin/python
2

Khi bạn đã hài lòng với thử nghiệm cục bộ của mình, bạn có thể dễ dàng chuyển trở lại môi trường mặc định của mình:

$ which python
/usr/bin/python
0

Sự kết luận

Bây giờ bạn có thể dễ dàng đóng góp hơn cho một dự án muốn hỗ trợ nhiều môi trường. Bạn cũng có thể dễ dàng kiểm tra các phiên bản Python mới nhất và lớn nhất mà không phải lo lắng về việc làm rối tung máy phát triển của bạn, tất cả đều có một công cụ tuyệt vời:

$ sudo apt-get install -y make build-essential libssl-dev zlib1g-dev \
libbz2-dev libreadline-dev libsqlite3-dev wget curl llvm libncurses5-dev \
libncursesw5-dev xz-utils tk-dev libffi-dev liblzma-dev python-openssl
5.

Bạn đã thấy cách

$ sudo apt-get install -y make build-essential libssl-dev zlib1g-dev \
libbz2-dev libreadline-dev libsqlite3-dev wget curl llvm libncurses5-dev \
libncursesw5-dev xz-utils tk-dev libffi-dev liblzma-dev python-openssl
5 có thể giúp bạn:

  • Cài đặt nhiều phiên bản Python
  • Chuyển đổi giữa các phiên bản đã cài đặt
  • Sử dụng môi trường ảo với
    $ sudo apt-get install -y make build-essential libssl-dev zlib1g-dev \
    libbz2-dev libreadline-dev libsqlite3-dev wget curl llvm libncurses5-dev \
    libncursesw5-dev xz-utils tk-dev libffi-dev liblzma-dev python-openssl
    
    5
  • Kích hoạt các phiên bản python và môi trường ảo khác nhau tự động

Nếu bạn vẫn còn thắc mắc, hãy thoải mái tiếp cận trong phần bình luận hoặc trên Twitter. Ngoài ra, tài liệu PYENV là một nguồn tài nguyên tuyệt vời.

Phần thưởng: Hiển thị tên môi trường của bạn trong dấu nhắc lệnh của bạn

Nếu bạn giống như tôi và liên tục chuyển đổi giữa các môi trường ảo và phiên bản Python khác nhau, thì nó dễ bị nhầm lẫn về phiên bản nào hiện đang hoạt động. Tôi sử dụng OH-My-ZSH và chủ đề Agnoster, theo mặc định làm cho lời nhắc của tôi trông như thế này:

Hướng dẫn install different version of python - cài đặt phiên bản python khác nhau

Nhìn thoáng qua, tôi không biết phiên bản Python nào đang hoạt động. Để tìm ra nó, tôi sẽ phải chạy

export CFLAGS='-fPIC'
49 hoặc
export CFLAGS='-fPIC'
50. Để giúp giảm thời gian của tôi để tìm ra môi trường Python đang hoạt động của mình, tôi thêm môi trường ảo
$ sudo apt-get install -y make build-essential libssl-dev zlib1g-dev \
libbz2-dev libreadline-dev libsqlite3-dev wget curl llvm libncurses5-dev \
libncursesw5-dev xz-utils tk-dev libffi-dev liblzma-dev python-openssl
5 mà tôi đã sử dụng vào lời nhắc của mình:

Hướng dẫn install different version of python - cài đặt phiên bản python khác nhau

Phiên bản Python của tôi trong trường hợp này là

export CFLAGS='-fPIC'
52 và được hiển thị ngay lập tức khi bắt đầu dấu nhắc. Điều này cho phép tôi nhanh chóng xem phiên bản Python mà tôi sử dụng ngay lập tức. Nếu bạn cũng muốn sử dụng nó, bạn có thể sử dụng chủ đề Agnoster-Pyenv của tôi.

Xem bây giờ hướng dẫn này có một khóa học video liên quan được tạo bởi nhóm Python thực sự. Xem cùng với hướng dẫn bằng văn bản để hiểu sâu hơn về sự hiểu biết của bạn: Bắt đầu quản lý nhiều phiên bản Python với PyenV This tutorial has a related video course created by the Real Python team. Watch it together with the written tutorial to deepen your understanding: Start Managing Multiple Python Versions With pyenv

Chúng ta có thể cài đặt 2 phiên bản Python trong Windows không?

Cài đặt nhiều phiên bản của Python.Chuyển đổi giữa các phiên bản đã cài đặt.Sử dụng môi trường ảo với pyenv.Kích hoạt các phiên bản Python và môi trường ảo khác nhau tự động.. Switch between the installed versions. Use virtual environments with pyenv. Activate different Python versions and virtual environments automatically.

Tôi có thể chạy 2 phiên bản Python không?

Phương pháp 1: Sử dụng đường dẫn ngay bây giờ, nếu bạn có hai phiên bản Python được cài đặt trên hệ thống của bạn (Python 2.7 và 3.8), thì biến đường dẫn sẽ chứa vị trí của cả hai thư mục.Nhưng, vấn đề là một khi Windows tìm thấy trận đấu đầu tiên, nó sẽ ngừng kiểm tra bất kỳ đường dẫn nào khác.if you have two versions of Python installed on your system (Python 2.7 and 3.8), then the path variable will contain the location of both the directories. But, the problem is once Windows finds the first match, it will stop examining any other path.

Làm cách nào để cài đặt phiên bản thứ hai của Python?

Mở tệp thực thi:..
Bấm đúp vào tệp Python ..
Kiểm tra hộp Thêm Python ** vào đường dẫn đường dẫn ..
Nhấp vào Cài đặt ngay bây giờ.
Repeat..