Hướng dẫn can you have 2 different python versions? - bạn có thể có 2 phiên bản python khác nhau không?

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

Bạn đã bao giờ muốn đóng góp cho một dự án hỗ trợ nhiều phiên bản Python nhưng aren chắc chắn làm thế nào bạn có thể dễ dàng kiểm tra tất cả các phiên bản? Bạn có bao giờ tò mò về những phiên bản mới nhất và lớn nhất của Python không? Có thể bạn muốn thử các tính năng mới này, nhưng bạn không muốn lo lắng về việc làm rối tung môi trường phát triển của mình. May mắn thay, việc quản lý nhiều phiên bản Python không phải là khó hiểu nếu bạn sử dụng

$ brew install openssl readline sqlite3 xz zlib
9.

Bài viết này sẽ cung cấp cho bạn một cái nhìn tổng quan tuyệt vời về cách tối đa hóa thời gian làm việc cho các dự án và giảm thiểu thời gian ở những cơn đau đầu khi cố gắng sử dụng phiên bản Python phù hợp.

Trong bài viết này, bạn sẽ học cách:

  1. Cài đặt nhiều phiên bản Python
  2. Cài đặt phiên bản phát triển mới nhất của Python
  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
    $ brew install openssl readline sqlite3 xz zlib
    
    9
  5. Kích hoạt các phiên bản python và môi trường ảo khác nhau tự động

Tại sao sử dụng $ brew install openssl readline sqlite3 xz zlib 9?

$ brew install openssl readline sqlite3 xz zlib
9 là một công cụ tuyệt vời để quản lý nhiều phiên bản Python. Ngay cả khi bạn đã cài đặt Python trên hệ thống của mình, thì đáng để cài đặt
$ brew install openssl readline sqlite3 xz zlib
9 để bạn có thể dễ dàng thử các tính năng ngôn ngữ mới hoặc giúp đóng góp cho một dự án trên một phiên bản Python khác. Sử dụng
$ brew install openssl readline sqlite3 xz zlib
9 cũng là một cách tuyệt vời để cài đặt các phiên bản Python trước khi phát hành để bạn có thể kiểm tra chúng cho các lỗi.

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

$ zypper in zlib-devel bzip2 libbz2-devel libffi-devel \
libopenssl-devel readline-devel sqlite3 sqlite3-devel xz xz-devel
5 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

$ zypper in zlib-devel bzip2 libbz2-devel libffi-devel \
libopenssl-devel readline-devel sqlite3 sqlite3-devel xz xz-devel
6:

$ which python
/usr/bin/python

Ở đây,

$ zypper in zlib-devel bzip2 libbz2-devel libffi-devel \
libopenssl-devel readline-devel sqlite3 sqlite3-devel xz xz-devel
5 có sẵn cho tất cả người dùng được chứng minh bằng vị trí của nó
$ zypper in zlib-devel bzip2 libbz2-devel libffi-devel \
libopenssl-devel readline-devel sqlite3 sqlite3-devel xz xz-devel
8. 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

$ zypper in zlib-devel bzip2 libbz2-devel libffi-devel \
libopenssl-devel readline-devel sqlite3 sqlite3-devel xz xz-devel
9. Đó 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

$ apk add libffi-dev ncurses-dev openssl-dev readline-dev \
tk-dev xz-dev zlib-dev
0, 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

$ apk add libffi-dev ncurses-dev openssl-dev readline-dev \
tk-dev xz-dev zlib-dev
1 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ư

$ apk add libffi-dev ncurses-dev openssl-dev readline-dev \
tk-dev xz-dev zlib-dev
2,
$ apk add libffi-dev ncurses-dev openssl-dev readline-dev \
tk-dev xz-dev zlib-dev
1,
$ apk add libffi-dev ncurses-dev openssl-dev readline-dev \
tk-dev xz-dev zlib-dev
4 hoặc
$ apk add libffi-dev ncurses-dev openssl-dev readline-dev \
tk-dev xz-dev zlib-dev
5 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

$ apk add libffi-dev ncurses-dev openssl-dev readline-dev \
tk-dev xz-dev zlib-dev
6? 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

$ brew install openssl readline sqlite3 xz zlib
9 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 $ brew install openssl readline sqlite3 xz zlib 9

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

$ brew install openssl readline sqlite3 xz zlib
9, 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ì
$ brew install openssl readline sqlite3 xz zlib
9 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

$ brew install openssl readline sqlite3 xz zlib
9 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
$ brew install openssl readline sqlite3 xz zlib
9. 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

$ apk add libffi-dev ncurses-dev openssl-dev readline-dev \
tk-dev xz-dev zlib-dev
1 để cài đặt các phụ thuộc xây dựng của mình:Fedora/CentOS/RHEL, you could use
$ apk add libffi-dev ncurses-dev openssl-dev readline-dev \
tk-dev xz-dev zlib-dev
1 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

$ apk add libffi-dev ncurses-dev openssl-dev readline-dev \
tk-dev xz-dev zlib-dev
1.

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:

$ zypper in zlib-devel bzip2 libbz2-devel libffi-devel \
libopenssl-devel readline-devel sqlite3 sqlite3-devel xz xz-devel

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:

$ apk add libffi-dev ncurses-dev openssl-dev readline-dev \
tk-dev xz-dev zlib-dev

Lệnh này sử dụng

$ curl https://pyenv.run | bash
5 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

$ brew install openssl readline sqlite3 xz zlib
9. Tôi khuyên bạn nên sử dụng dự án PyenV-Installer:

$ curl https://pyenv.run | bash

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

$ brew install openssl readline sqlite3 xz zlib
9 cùng với một vài plugin hữu ích:

  1. $ brew install openssl readline sqlite3 xz zlib
    
    9: Ứng dụng
    $ brew install openssl readline sqlite3 xz zlib
    
    9 thực tế
    : The actual
    $ brew install openssl readline sqlite3 xz zlib
    
    9 application
  2. WARNING: seems you still have not added 'pyenv' to the load path.
    
    Load pyenv automatically by adding
    the following to ~/.bashrc:
    
    export PATH="$HOME/.pyenv/bin:$PATH"
    eval "$(pyenv init -)"
    eval "$(pyenv virtualenv-init -)"
    
    0: plugin cho
    $ brew install openssl readline sqlite3 xz zlib
    
    9 và môi trường ảo
    : Plugin for
    $ brew install openssl readline sqlite3 xz zlib
    
    9 and virtual environments
  3. WARNING: seems you still have not added 'pyenv' to the load path.
    
    Load pyenv automatically by adding
    the following to ~/.bashrc:
    
    export PATH="$HOME/.pyenv/bin:$PATH"
    eval "$(pyenv init -)"
    eval "$(pyenv virtualenv-init -)"
    
    2: Plugin để cập nhật
    $ brew install openssl readline sqlite3 xz zlib
    
    9
    : Plugin for updating
    $ brew install openssl readline sqlite3 xz zlib
    
    9
  4. WARNING: seems you still have not added 'pyenv' to the load path.
    
    Load pyenv automatically by adding
    the following to ~/.bashrc:
    
    export PATH="$HOME/.pyenv/bin:$PATH"
    eval "$(pyenv init -)"
    eval "$(pyenv virtualenv-init -)"
    
    4: Plugin để xác minh rằng
    $ brew install openssl readline sqlite3 xz zlib
    
    9 và phụ thuộc xây dựng được cài đặt
    : Plugin to verify that
    $ brew install openssl readline sqlite3 xz zlib
    
    9 and build dependencies are installed
  5. WARNING: seems you still have not added 'pyenv' to the load path.
    
    Load pyenv automatically by adding
    the following to ~/.bashrc:
    
    export PATH="$HOME/.pyenv/bin:$PATH"
    eval "$(pyenv init -)"
    eval "$(pyenv virtualenv-init -)"
    
    6: 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:

WARNING: seems you still have not added 'pyenv' to the load path.

Load pyenv automatically by adding
the following to ~/.bashrc:

export PATH="$HOME/.pyenv/bin:$PATH"
eval "$(pyenv init -)"
eval "$(pyenv virtualenv-init -)"

Đầ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

$ brew install openssl readline sqlite3 xz zlib
9 vào đường dẫn của bạn và khởi tạo ________ 49/________ 80 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:

$ exec "$SHELL" # Or just restart your terminal

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

$ brew install openssl readline sqlite3 xz zlib
9 và bốn plugin hữu ích.

Sử dụng $ brew install openssl readline sqlite3 xz zlib 9 để cài đặt Python

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

$ brew install openssl readline sqlite3 xz zlib
9, 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:

$ python -V
Pyhton 2.7.12
0

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

$ brew install openssl readline sqlite3 xz zlib
9 biết về điều đó phù hợp với biểu thức chính quy. 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:

$ python -V
Pyhton 2.7.12
1

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

$ brew install openssl readline sqlite3 xz zlib
9 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:

$ python -V
Pyhton 2.7.12
2

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:

$ python -V
Pyhton 2.7.12
3

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

$ brew install openssl readline sqlite3 xz zlib
9 đ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ờ
$ exec "$SHELL" # Or just restart your terminal
6. 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

$ exec "$SHELL" # Or just restart your terminal
7 và
$ exec "$SHELL" # Or just restart your terminal
8, nhưng bạn có thể tự do thay thế các giá trị này cho các phiên bản Python mà 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à
$ exec "$SHELL" # Or just restart your terminal
9.

Vị trí lắp đặt

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

$ brew install openssl readline sqlite3 xz zlib
9 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
$ brew install openssl readline sqlite3 xz zlib
9 của bạn:

$ python -V
Pyhton 2.7.12
4

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:

$ python -V
Pyhton 2.7.12
5

Tất nhiên

$ brew install openssl readline sqlite3 xz zlib
9 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:

$ python -V
Pyhton 2.7.12
6

$ python -V
Pyhton 2.7.12
03 chỉ ra rằng phiên bản Python
$ python -V
Pyhton 2.7.12
04 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 root
$ brew install openssl readline sqlite3 xz zlib
9 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:

$ python -V
Pyhton 2.7.12
7

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

$ zypper in zlib-devel bzip2 libbz2-devel libffi-devel \
libopenssl-devel readline-devel sqlite3 sqlite3-devel xz xz-devel
6, bạn sẽ thấy điều này:

$ python -V
Pyhton 2.7.12
8

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

$ brew install openssl readline sqlite3 xz zlib
9 hoạt động.
$ brew install openssl readline sqlite3 xz zlib
9 tự chèn vào
$ python -V
Pyhton 2.7.12
09 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:

$ python -V
Pyhton 2.7.12
9

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

$ python -V
Pyhton 2.7.12
10:

$ 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

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:

$ 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

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 $ brew install openssl readline sqlite3 xz zlib 9

$ brew install openssl readline sqlite3 xz zlib
9 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:

$ 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

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

$ python -V
Pyhton 2.7.12
13 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
$ python -V
Pyhton 2.7.12
14, bạn có thể chạy như sau:

$ 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

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.

$ python -V Pyhton 2.7.12 15

Bạn đã thấy lệnh

$ python -V
Pyhton 2.7.12
15 ở 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
$ exec "$SHELL" # Or just restart your terminal
7, 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ả
$ python -V
Pyhton 2.7.12
19
Danh sách tất cả các phiên bản Python có sẵn để cài đặt
$ python -V
Pyhton 2.7.12
20
Xây dựng phiên bản gỡ lỗi của Python
$ python -V
Pyhton 2.7.12
21
Chế độ Verbose: Trạng thái tổng hợp in vào stdout

$ python -V Pyhton 2.7.12 22

Lệnh

$ python -V
Pyhton 2.7.12
22 hiển thị tất cả các phiên bản Python hiện đã được cài đặt:

$ python -V
Pyhton 2.7.12
6

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

$ exec "$SHELL" # Or just restart your terminal
8,
$ exec "$SHELL" # Or just restart your terminal
7,
$ python -V
Pyhton 2.7.12
26 và python ____104 của bạn được cài đặt, mà còn cho bạn thấy rằng
$ python -V
Pyhton 2.7.12
04 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:

$ 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ệnh này tương tự như

$ python -V
Pyhton 2.7.12
22 nhưng chỉ hiển thị cho bạn phiên bản Python hoạt động hiện tại.

$ zypper in zlib-devel bzip2 libbz2-devel libffi-devel \ libopenssl-devel readline-devel sqlite3 sqlite3-devel xz xz-devel 6

Lệnh

$ zypper in zlib-devel bzip2 libbz2-devel libffi-devel \
libopenssl-devel readline-devel sqlite3 sqlite3-devel xz xz-devel
6 rất hữu ích để xác định đường dẫn đầy đủ đến một hệ thống có thể thực thi. Bởi vì
$ brew install openssl readline sqlite3 xz zlib
9 hoạt động bằng cách sử dụng các shims, lệnh này cho phép bạn nhìn thấy đường dẫn đầy đủ đến
$ brew install openssl readline sqlite3 xz zlib
9 thực thi đang chạy. Ví dụ: nếu bạn muốn xem
$ python -V
Pyhton 2.7.12
34 được cài đặt ở đâu, bạn có thể chạy cái nà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
6

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

$ python -V
Pyhton 2.7.12
34. Điều này có thể hữu ích khi bạn đã cài đặt các ứng dụng dòng lệnh.

$ python -V Pyhton 2.7.12 10

Lệnh

$ python -V
Pyhton 2.7.12
10 đặ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
$ exec "$SHELL" # Or just restart your terminal
7 theo mặc định, thì bạn có thể chạy cái này:

Lệnh này đặt

$ python -V
Pyhton 2.7.12
39 thành
$ exec "$SHELL" # Or just restart your terminal
7. Để 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.

$ python -V Pyhton 2.7.12 41

Lệnh

$ python -V
Pyhton 2.7.12
41 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
$ exec "$SHELL" # Or just restart your terminal
8:

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

$ python -V
Pyhton 2.7.12
44 trong thư mục hiện tại của bạn. Nếu bạn có
$ brew install openssl readline sqlite3 xz zlib
9 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.

$ python -V Pyhton 2.7.12 46

Lệnh

$ python -V
Pyhton 2.7.12
46 đượ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
$ python -V
Pyhton 2.7.12
26 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

$ python -V
Pyhton 2.7.12
49. 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ờ
$ python -V
Pyhton 2.7.12
50.

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

$ brew install openssl readline sqlite3 xz zlib
9 là cách chính xác lệnh
$ zypper in zlib-devel bzip2 libbz2-devel libffi-devel \
libopenssl-devel readline-devel sqlite3 sqlite3-devel xz xz-devel
5 đượ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
$ zypper in zlib-devel bzip2 libbz2-devel libffi-devel \
libopenssl-devel readline-devel sqlite3 sqlite3-devel xz xz-devel
5 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 can you have 2 different python versions? - bạn có thể có 2 phiên bản python khác nhau không?

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à

$ brew install openssl readline sqlite3 xz zlib
9 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:

$ python -V
Pyhton 2.7.12
6

Ở đây,

$ python -V
Pyhton 2.7.12
04 Python của bạn đang được sử dụng như được biểu thị bằng
$ python -V
Pyhton 2.7.12
03. Để thực hiện cài đặt toàn cầu tiếp theo tiếp theo, bạn sử dụng
$ python -V
Pyhton 2.7.12
10:

$ 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
8

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

$ brew install openssl readline sqlite3 xz zlib
9 muốn sử dụng
$ exec "$SHELL" # Or just restart your terminal
7 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ó:

$ 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
9

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

$ python -V
Pyhton 2.7.12
44 với
$ python -V
Pyhton 2.7.12
41:

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

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

$ brew install openssl readline sqlite3 xz zlib
9 chỉ ra cách nó sẽ giải quyết lệnh
$ zypper in zlib-devel bzip2 libbz2-devel libffi-devel \
libopenssl-devel readline-devel sqlite3 sqlite3-devel xz xz-devel
5 của chúng tôi. Lần này nó đến từ
$ python -V
Pyhton 2.7.12
64. Lưu ý rằng việc tìm kiếm
$ python -V
Pyhton 2.7.12
44 là đệ quy:

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

Mặc dù có một

$ python -V
Pyhton 2.7.12
44 trong
$ python -V
Pyhton 2.7.12
67, phiên bản vẫn được đặt thành
$ exec "$SHELL" # Or just restart your terminal
8 vì
$ python -V
Pyhton 2.7.12
44 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

$ python -V
Pyhton 2.7.12
46:

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

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

$ python -V
Pyhton 2.7.12
71:

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

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

$ python -V
Pyhton 2.7.12
41.

Môi trường ảo và $ brew install openssl readline sqlite3 xz zlib 9

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à

$ brew install openssl readline sqlite3 xz zlib
9 là một trận đấu được thực hiện trên thiên đường.
$ brew install openssl readline sqlite3 xz zlib
9 có một plugin tuyệt vời có tên
WARNING: seems you still have not added 'pyenv' to the load path.

Load pyenv automatically by adding
the following to ~/.bashrc:

export PATH="$HOME/.pyenv/bin:$PATH"
eval "$(pyenv init -)"
eval "$(pyenv virtualenv-init -)"
0 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
$ brew install openssl readline sqlite3 xz zlib
9,
WARNING: seems you still have not added 'pyenv' to the load path.

Load pyenv automatically by adding
the following to ~/.bashrc:

export PATH="$HOME/.pyenv/bin:$PATH"
eval "$(pyenv init -)"
eval "$(pyenv virtualenv-init -)"
0 và các công cụ như
$ python -V
Pyhton 2.7.12
79 hoặc
$ python -V
Pyhton 2.7.12
80, 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 khó tính

$ python -V
Pyhton 2.7.12
79 hoặc
$ python -V
Pyhton 2.7.12
80, đừng lo lắng:
$ brew install openssl readline sqlite3 xz zlib
9 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ĩ
WARNING: seems you still have not added 'pyenv' to the load path.

Load pyenv automatically by adding
the following to ~/.bashrc:

export PATH="$HOME/.pyenv/bin:$PATH"
eval "$(pyenv init -)"
eval "$(pyenv virtualenv-init -)"
0 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

$ python -V
Pyhton 2.7.12
85 để cài đặt
$ brew install openssl readline sqlite3 xz zlib
9, bạn đã cài đặt
WARNING: seems you still have not added 'pyenv' to the load path.

Load pyenv automatically by adding
the following to ~/.bashrc:

export PATH="$HOME/.pyenv/bin:$PATH"
eval "$(pyenv init -)"
eval "$(pyenv virtualenv-init -)"
0 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:

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

Về mặt kỹ thuật,

$ python -V
Pyhton 2.7.12
88 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.

$ python -V
Pyhton 2.7.12
89 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
$ python -V
Pyhton 2.7.12
90 và muốn phát triển chống lại Python 3.6.8, bạn sẽ chạy điều này:

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

Đầ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à

$ python -V
Pyhton 2.7.12
91,
$ python -V
Pyhton 2.7.12
34 và
$ python -V
Pyhton 2.7.12
93. Đ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

$ python -V
Pyhton 2.7.12
94 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
$ python -V
Pyhton 2.7.12
44 trong thư mục làm việc hiện tại của bạn và vì bạn đã chạy
$ python -V
Pyhton 2.7.12
96 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:

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

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

$ python -V
Pyhton 2.7.12
90 và
$ zypper in zlib-devel bzip2 libbz2-devel libffi-devel \
libopenssl-devel readline-devel sqlite3 sqlite3-devel xz xz-devel
5 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ụ,
$ python -V
Pyhton 2.7.12
34:

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

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

$ python -V
Pyhton 2.7.12
96 để 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:

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

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

WARNING: seems you still have not added 'pyenv' to the load path.

Load pyenv automatically by adding
the following to ~/.bashrc:

export PATH="$HOME/.pyenv/bin:$PATH"
eval "$(pyenv init -)"
eval "$(pyenv virtualenv-init -)"
0 đang làm khi nó nhập hoặc thoát một thư mục với tệp
$ python -V
Pyhton 2.7.12
44 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:

$ python -V
Pyhton 2.7.12
6

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

$ python -V
Pyhton 2.7.12
03 trong đầu ra
$ 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
04. Đầu tiên, tạo môi trường ảo cho dự án đầu tiên:

$ brew install openssl readline sqlite3 xz zlib
0

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

$ brew install openssl readline sqlite3 xz zlib
1

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

$ brew install openssl readline sqlite3 xz zlib
2

Đâ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

$ 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
05 giữa các dự án, môi trường của bạn sẽ tự động kích hoạt:

$ brew install openssl readline sqlite3 xz zlib
3

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à

$ brew install openssl readline sqlite3 xz zlib
9 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,

$ 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
08 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
$ 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
09, bạn sẽ nhận được điều này:

$ brew install openssl readline sqlite3 xz zlib
4

$ brew install openssl readline sqlite3 xz zlib
9 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.
$ brew install openssl readline sqlite3 xz zlib
9 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:

$ brew install openssl readline sqlite3 xz zlib
5

Điều này cho thấy

$ brew install openssl readline sqlite3 xz zlib
9 rằng bạn muốn sử dụng 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
08 làm tùy chọn đầu tiên. Vì vậy, nếu một lệnh, ví dụ
$ zypper in zlib-devel bzip2 libbz2-devel libffi-devel \
libopenssl-devel readline-devel sqlite3 sqlite3-devel xz xz-devel
5, có thể được giải quyết trong cả hai môi trường, nó sẽ chọ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
08 trước
$ exec "$SHELL" # Or just restart your terminal
7. Hãy để xem những gì xảy ra nếu bạn chạy điều này:

$ brew install openssl readline sqlite3 xz zlib
6

Ở đây,

$ brew install openssl readline sqlite3 xz zlib
9 cố gắng tìm 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
09 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
$ python -V
Pyhton 2.7.12
09 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:

$ brew install openssl readline sqlite3 xz zlib
7

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:

$ brew install openssl readline sqlite3 xz zlib
5

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:

$ brew install openssl readline sqlite3 xz zlib
9.

Bạn đã thấy cách

$ brew install openssl readline sqlite3 xz zlib
9 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
    $ brew install openssl readline sqlite3 xz zlib
    
    9
  • 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 can you have 2 different python versions? - bạn có thể có 2 phiên bản python khác nhau không?

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

$ 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
23 hoặ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
24. Để 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
$ brew install openssl readline sqlite3 xz zlib
9 mà tôi đã sử dụng vào lời nhắc của mình:

Hướng dẫn can you have 2 different python versions? - bạn có thể có 2 phiên bản python khác nhau không?

Phiên bản Python của tôi trong trường hợp này 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
26 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

Bạn có thể có 2 phiên bản Python không?

Với Navigator, bạn có thể có các phiên bản Python khác nhau trên máy tính của mình và dễ dàng chuyển đổi giữa chúng bằng cách giữ chúng trong các môi trường khác nhau.Để sử dụng một phiên bản khác của Python so với phiên bản bạn hiện đang sử dụng, hãy thiết lập một môi trường mới: bắt đầu điều hướng. and easily switch between them by keeping them in different environments. To use a different version of Python than the one you are currently using, set up a new environment: Start Navigator.

Tôi có thể chạy các phiên bản khác nhau của Python không?

Có, bạn sẽ có thể chuyển đổi giữa các phiên bản Python.Theo tiêu chuẩn, nên sử dụng lệnh python3 hoặc python3.7 để chọn một phiên bản cụ thể.Trình khởi chạy py.exe sẽ tự động chọn phiên bản Python gần đây nhất mà bạn đã cài đặt.. As a standard, it is recommended to use the python3 command or python3. 7 to select a specific version. The py.exe launcher will automatically select the most recent version of Python you've installed.

Tôi có thể cài đặt 2 Python không?

Theo thiết kế, Python cài đặt vào một thư mục với số phiên bản được nhúng, ví dụ:Python phiên bản 2.7 sẽ cài đặt tại C: \ Python27 \, để bạn có thể có nhiều phiên bản Python trên cùng một hệ thống mà không có xung đột.Tất nhiên, chỉ có một trình thông dịch có thể là ứng dụng mặc định cho các loại tệp Python.you can have multiple versions of Python on the same system without conflicts. Of course, only one interpreter can be the default application for Python file types.