Nhiều phiên bản Python Mac

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 không chắc làm thế nào bạn có thể dễ dàng kiểm tra tất cả các phiên bản? . May mắn thay, việc quản lý nhiều phiên bản Python không gây nhầm lẫn nếu bạn sử dụng

$ sudo installer -pkg /Library/Developer/CommandLineTools/Packages/macOS_SDK_headers_for_macOS_10.14.pkg -target /
8

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 bạn dành cho các dự án và giảm thiểu thời gian đau đầu tìm cách 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
    $ sudo installer -pkg /Library/Developer/CommandLineTools/Packages/macOS_SDK_headers_for_macOS_10.14.pkg -target /
    
    8
  5. Tự động kích hoạt các phiên bản Python và môi trường ảo khác nhau

Tải xuống miễn phí. Nhận một chương mẫu từ Thủ thuật Python. Cuốn sách chỉ cho bạn các phương pháp hay nhất về Python với các ví dụ đơn giản mà bạn có thể áp dụng ngay lập tức để viết mã Pythonic + đẹp hơn

Tại sao lại sử dụng
$ sudo installer -pkg /Library/Developer/CommandLineTools/Packages/macOS_SDK_headers_for_macOS_10.14.pkg -target /
8?

$ sudo installer -pkg /Library/Developer/CommandLineTools/Packages/macOS_SDK_headers_for_macOS_10.14.pkg -target /
8 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ì cũng nên cài đặt
$ sudo installer -pkg /Library/Developer/CommandLineTools/Packages/macOS_SDK_headers_for_macOS_10.14.pkg -target /
8 để bạn có thể dễ dàng 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 phiên bản Python khác. Sử dụng
$ sudo installer -pkg /Library/Developer/CommandLineTools/Packages/macOS_SDK_headers_for_macOS_10.14.pkg -target /
8 cũng là một cách tuyệt vời để cài đặt các phiên bản phát hành trước của Python để bạn có thể kiểm tra lỗi của chúng

Loại bỏ các quảng cáo

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

“System Python” là Python được cài đặt trên hệ điều hành của bạn. Nếu bạn đang dùng 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
4 vào thiết bị đầu cuối của mình, bạn sẽ nhận được một REPL Python đẹp mắt

Vì vậy, tại sao không sử dụng nó? . Rốt cuộc, nó đã được cài đặt với hệ điều hành. Điều đó thậm chí còn được 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
5

________số 8

Ở đây,

$ zypper in zlib-devel bzip2 libbz2-devel libffi-devel \
libopenssl-devel readline-devel sqlite3 sqlite3-devel xz xz-devel
4 có sẵn cho tất cả người dùng bằng chứng là vị trí của nó
$ zypper in zlib-devel bzip2 libbz2-devel libffi-devel \
libopenssl-devel readline-devel sqlite3 sqlite3-devel xz xz-devel
7. Rất có thể, đây cũng không phải là phiên bản Python mà bạn muốn

$ sudo installer -pkg /Library/Developer/CommandLineTools/Packages/macOS_SDK_headers_for_macOS_10.14.pkg -target /
1

Để cài đặt gói vào hệ thống Python 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
8. Đó là bởi vì bạn đang 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 đi cùng và muốn cài đặt phiên bản cũ hơn một chút của gói

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

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

$ zypper in zlib-devel bzip2 libbz2-devel libffi-devel \
libopenssl-devel readline-devel sqlite3 sqlite3-devel xz xz-devel
9, bạn vẫn không an toàn. Bạn sẽ gặp phải các vấn đề về quyền và tính linh hoạt giống như 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à chẳng hạn như bạn đang sử dụng Ubuntu, thì 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 đợi một hệ điều hành mới ra mắt

Cuối cùng, một số hệ điều hành thực sự sử dụng Python được đóng gói để vận hành. Lấy ví dụ về

$ sudo installer -pkg /Library/Developer/CommandLineTools/Packages/macOS_SDK_headers_for_macOS_10.14.pkg -target /
40, sử dụng nhiều Python để thực hiện công việc của mình. Nếu bạn cài đặt phiên bản Python mới và không cẩn thận cài đặt phiên bả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ĐH của mình

Điều gì về Trình quản lý gói?

Nơi hợp lý tiếp theo để tìm là trình quản lý gói. Các chương trình như

$ sudo installer -pkg /Library/Developer/CommandLineTools/Packages/macOS_SDK_headers_for_macOS_10.14.pkg -target /
41,
$ sudo installer -pkg /Library/Developer/CommandLineTools/Packages/macOS_SDK_headers_for_macOS_10.14.pkg -target /
40,
$ sudo installer -pkg /Library/Developer/CommandLineTools/Packages/macOS_SDK_headers_for_macOS_10.14.pkg -target /
43 hoặc
$ sudo installer -pkg /Library/Developer/CommandLineTools/Packages/macOS_SDK_headers_for_macOS_10.14.pkg -target /
44 là những lựa chọn điển hình tiếp theo. 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ẽ gặp một số vấn đề tương tự khi sử dụng trình quản lý gói

Theo mặc định, trình 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à khiến bạn khó chia sẻ không gian làm việc với những người khác

Một lần nữa, bạn vẫn không có quyền kiểm soát phiên bản Python nào bạn có thể cài đặt. Đúng là một số kho cung cấp cho bạn nhiều lựa chọn hơn, nhưng theo mặc định, bạn đang xem bất kỳ phiên bản Python nào mà nhà cung cấp cụ thể của bạn cập nhật 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 đang viết một gói và muốn hỗ trợ cũng như thử nghiệm 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 gõ

$ sudo installer -pkg /Library/Developer/CommandLineTools/Packages/macOS_SDK_headers_for_macOS_10.14.pkg -target /
45? . Đừng bận tâm đến thực tế là nếu bạn muốn PyPy, Jython hoặc Miniconda, thì có lẽ bạn đã không gặp may với trình quản lý gói của mình

Lưu ý đến 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 installer -pkg /Library/Developer/CommandLineTools/Packages/macOS_SDK_headers_for_macOS_10.14.pkg -target /
8 cho phép bạn làm tất cả những điều này và hơn thế nữa

Loại bỏ các quảng cáo

Cài đặt
$ sudo installer -pkg /Library/Developer/CommandLineTools/Packages/macOS_SDK_headers_for_macOS_10.14.pkg -target /
8

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

$ sudo installer -pkg /Library/Developer/CommandLineTools/Packages/macOS_SDK_headers_for_macOS_10.14.pkg -target /
8, bạn sẽ cần một số phụ thuộc dành riêng cho hệ điều hành. Các phần 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 installer -pkg /Library/Developer/CommandLineTools/Packages/macOS_SDK_headers_for_macOS_10.14.pkg -target /
8 cài đặt Python bằng cách xây dựng từ nguồn. Để biết phân tích chi tiết hơn và giải thích về các phụ thuộc bản dựng, bạn có thể xem 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

Ghi chú.

$ sudo installer -pkg /Library/Developer/CommandLineTools/Packages/macOS_SDK_headers_for_macOS_10.14.pkg -target /
8 ban đầu không hỗ trợ Windows. Tuy nhiên, dường như có một số hỗ trợ cơ bản với dự án pyenv-win gần đây đã hoạt động. Nếu bạn sử dụng Windows, vui lòng kiểm tra nó

Xây dựng phụ thuộc

$ sudo installer -pkg /Library/Developer/CommandLineTools/Packages/macOS_SDK_headers_for_macOS_10.14.pkg -target /
8 xây dựng Python từ nguồn, có nghĩa là bạn sẽ cần xây dựng phụ thuộc để thực sự sử dụng
$ sudo installer -pkg /Library/Developer/CommandLineTools/Packages/macOS_SDK_headers_for_macOS_10.14.pkg -target /
8. Các phụ thuộc xây dựng khác nhau tùy theo nền tảng. Nếu bạn đang dùng Ubuntu/Debian và muốn cài đặt các phụ thuộc bản dựng, bạn có thể sử dụng cách sau

$ sudo installer -pkg /Library/Developer/CommandLineTools/Packages/macOS_SDK_headers_for_macOS_10.14.pkg -target /
7

Điều này sử dụng Apt để cài đặt tất cả các phụ thuộc bản dựng. Hãy chạy chương trình này và bạn sẽ sẵn sàng sử dụng các hệ thống Debian

Nếu bạn sử dụng Fedora/CentOS/RHEL, bạn có thể sử dụng

$ sudo installer -pkg /Library/Developer/CommandLineTools/Packages/macOS_SDK_headers_for_macOS_10.14.pkg -target /
40 để cài đặt các phụ thuộc bản dựng của mình

$ sudo installer -pkg /Library/Developer/CommandLineTools/Packages/macOS_SDK_headers_for_macOS_10.14.pkg -target /
9

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

$ sudo installer -pkg /Library/Developer/CommandLineTools/Packages/macOS_SDK_headers_for_macOS_10.14.pkg -target /
40

người dùng macOS có thể sử dụng lệnh sau

$ sudo installer -pkg /Library/Developer/CommandLineTools/Packages/macOS_SDK_headers_for_macOS_10.14.pkg -target /
1

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

Mẹo. Khi chạy Mojave hoặc cao hơn [10. 14+], bạn cũng sẽ cần cài đặt các tiêu đề SDK bổ sung

$ sudo installer -pkg /Library/Developer/CommandLineTools/Packages/macOS_SDK_headers_for_macOS_10.14.pkg -target /

Cảm ơn Rodrigo Viera đã cập nhật

Thay vào đó, nếu bạn đang sử dụng openSUSE thì bạn sẽ chạy như sau

$ 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 sẽ cài đặt tất cả các phụ thuộc bản 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 cái này

$ sudo installer -pkg /Library/Developer/CommandLineTools/Packages/macOS_SDK_headers_for_macOS_10.14.pkg -target /
4

Lệnh này sử dụng

$ sudo installer -pkg /Library/Developer/CommandLineTools/Packages/macOS_SDK_headers_for_macOS_10.14.pkg -target /
55 làm trình quản lý gói và sẽ cài đặt tất cả các phụ thuộc bản dựng cho Python trên Alpine

Loại bỏ các quảng cáo

Sử dụng trình cài đặt pyenv

Sau khi bạn đã cài đặt các phụ thuộc bản dựng, bạn đã sẵn sàng cài đặt chính

$ sudo installer -pkg /Library/Developer/CommandLineTools/Packages/macOS_SDK_headers_for_macOS_10.14.pkg -target /
8. Tôi khuyên bạn nên sử dụng dự án pyenv-installer

$ sudo installer -pkg /Library/Developer/CommandLineTools/Packages/macOS_SDK_headers_for_macOS_10.14.pkg -target /
5

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

$ sudo installer -pkg /Library/Developer/CommandLineTools/Packages/macOS_SDK_headers_for_macOS_10.14.pkg -target /
8 cùng với một vài plugin hữu ích

  1. $ sudo installer -pkg /Library/Developer/CommandLineTools/Packages/macOS_SDK_headers_for_macOS_10.14.pkg -target /
    
    8. Ứng dụng thực tế của
    $ sudo installer -pkg /Library/Developer/CommandLineTools/Packages/macOS_SDK_headers_for_macOS_10.14.pkg -target /
    
    8
  2. $ sudo installer -pkg /Library/Developer/CommandLineTools/Packages/macOS_SDK_headers_for_macOS_10.14.pkg -target /
    
    10. Plugin cho
    $ sudo installer -pkg /Library/Developer/CommandLineTools/Packages/macOS_SDK_headers_for_macOS_10.14.pkg -target /
    
    8 và môi trường ảo
  3. $ sudo installer -pkg /Library/Developer/CommandLineTools/Packages/macOS_SDK_headers_for_macOS_10.14.pkg -target /
    
    12. Plugin để cập nhật
    $ sudo installer -pkg /Library/Developer/CommandLineTools/Packages/macOS_SDK_headers_for_macOS_10.14.pkg -target /
    
    8
  4. $ sudo installer -pkg /Library/Developer/CommandLineTools/Packages/macOS_SDK_headers_for_macOS_10.14.pkg -target /
    
    14. Plugin để xác minh rằng
    $ sudo installer -pkg /Library/Developer/CommandLineTools/Packages/macOS_SDK_headers_for_macOS_10.14.pkg -target /
    
    8 và các phụ thuộc bản dựng đã được cài đặt
  5. $ sudo installer -pkg /Library/Developer/CommandLineTools/Packages/macOS_SDK_headers_for_macOS_10.14.pkg -target /
    
    16. Plugin tự động tra cứu lệnh hệ thống

Ghi chú. Lệnh trên giống như tải xuống tập lệnh pyenv-installer và chạy cục bộ. Vì vậy, nếu bạn muốn xem chính xác những gì bạn đang chạy, bạn có thể tự mình xem tệp. Ngoài ra, nếu bạn thực sự không muốn chạy tập lệnh, bạn có thể xem hướng dẫn cài đặt thủ công

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

$ sudo installer -pkg /Library/Developer/CommandLineTools/Packages/macOS_SDK_headers_for_macOS_10.14.pkg -target /
1

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

$ sudo installer -pkg /Library/Developer/CommandLineTools/Packages/macOS_SDK_headers_for_macOS_10.14.pkg -target /
8 vào đường dẫn của mình và khởi tạo hoàn tất tự động
$ sudo installer -pkg /Library/Developer/CommandLineTools/Packages/macOS_SDK_headers_for_macOS_10.14.pkg -target /
8/
$ sudo installer -pkg /Library/Developer/CommandLineTools/Packages/macOS_SDK_headers_for_macOS_10.14.pkg -target /
10. Khi bạn đã hoàn thành việc này, bạn cần tải lại trình bao của mình

$ sudo installer -pkg /Library/Developer/CommandLineTools/Packages/macOS_SDK_headers_for_macOS_10.14.pkg -target /
10

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

$ sudo installer -pkg /Library/Developer/CommandLineTools/Packages/macOS_SDK_headers_for_macOS_10.14.pkg -target /
8 và bốn plugin hữu ích

Sử dụng
$ sudo installer -pkg /Library/Developer/CommandLineTools/Packages/macOS_SDK_headers_for_macOS_10.14.pkg -target /
8 để cài đặt Python

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

$ sudo installer -pkg /Library/Developer/CommandLineTools/Packages/macOS_SDK_headers_for_macOS_10.14.pkg -target /
8, 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ả Python 3 có sẵn. 6 đến 3. 8, bạn có thể làm điều này

$ sudo installer -pkg /Library/Developer/CommandLineTools/Packages/macOS_SDK_headers_for_macOS_10.14.pkg -target /
11

Phần trên hiển thị tất cả các phiên bản Python mà

$ sudo installer -pkg /Library/Developer/CommandLineTools/Packages/macOS_SDK_headers_for_macOS_10.14.pkg -target /
8 biết về nó khớ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 Python 3 có sẵn. 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

$ sudo installer -pkg /Library/Developer/CommandLineTools/Packages/macOS_SDK_headers_for_macOS_10.14.pkg -target /
12

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

$ sudo installer -pkg /Library/Developer/CommandLineTools/Packages/macOS_SDK_headers_for_macOS_10.14.pkg -target /
8 cung cấp. Nếu bạn muốn xem tất cả các phiên bản thì có thể làm như sau

$ sudo installer -pkg /Library/Developer/CommandLineTools/Packages/macOS_SDK_headers_for_macOS_10.14.pkg -target /
13

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

$ sudo installer -pkg /Library/Developer/CommandLineTools/Packages/macOS_SDK_headers_for_macOS_10.14.pkg -target /
14

Đang có những vấn đề?

Quá trình này sẽ mất một chút thời gian vì

$ sudo installer -pkg /Library/Developer/CommandLineTools/Packages/macOS_SDK_headers_for_macOS_10.14.pkg -target /
8 đang xây dựng Python từ nguồn, nhưng sau khi hoàn tất, bạn sẽ có Python 3. 7. 2 có sẵn trên máy cục bộ của bạn. Nếu bạn không muốn xem tất cả kết quả, chỉ cần xóa cờ
$ sudo installer -pkg /Library/Developer/CommandLineTools/Packages/macOS_SDK_headers_for_macOS_10.14.pkg -target /
107. Ngay cả các phiên bản phát triển của CPython cũng có thể được cài đặt

$ sudo installer -pkg /Library/Developer/CommandLineTools/Packages/macOS_SDK_headers_for_macOS_10.14.pkg -target /
15

Mẹo chuyên nghiệp. Nếu bạn đã sử dụng

$ sudo installer -pkg /Library/Developer/CommandLineTools/Packages/macOS_SDK_headers_for_macOS_10.14.pkg -target /
8 được một thời gian và không thấy phiên bản bạn đang tìm kiếm, bạn có thể cần chạy
$ sudo installer -pkg /Library/Developer/CommandLineTools/Packages/macOS_SDK_headers_for_macOS_10.14.pkg -target /
109 để cập nhật công cụ và đảm bảo rằng bạn có quyền truy cập vào các phiên bản mới nhất

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

$ sudo installer -pkg /Library/Developer/CommandLineTools/Packages/macOS_SDK_headers_for_macOS_10.14.pkg -target /
110 và
$ sudo installer -pkg /Library/Developer/CommandLineTools/Packages/macOS_SDK_headers_for_macOS_10.14.pkg -target /
111, 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à
$ sudo installer -pkg /Library/Developer/CommandLineTools/Packages/macOS_SDK_headers_for_macOS_10.14.pkg -target /
112

Loại bỏ các quảng cáo

Vị trí lắp đặt

Như đã đề cập trước đó,

$ sudo installer -pkg /Library/Developer/CommandLineTools/Packages/macOS_SDK_headers_for_macOS_10.14.pkg -target /
8 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
$ sudo installer -pkg /Library/Developer/CommandLineTools/Packages/macOS_SDK_headers_for_macOS_10.14.pkg -target /
8 của bạn

$ sudo installer -pkg /Library/Developer/CommandLineTools/Packages/macOS_SDK_headers_for_macOS_10.14.pkg -target /
16

Tất cả các phiên bản của bạn sẽ được đặt ở đây. Điều này rất hữu ích vì việc loại bỏ các phiên bản này là chuyện nhỏ

$ sudo installer -pkg /Library/Developer/CommandLineTools/Packages/macOS_SDK_headers_for_macOS_10.14.pkg -target /
17

Tất nhiên,

$ sudo installer -pkg /Library/Developer/CommandLineTools/Packages/macOS_SDK_headers_for_macOS_10.14.pkg -target /
8 cũng cung cấp lệnh gỡ cài đặt một phiên bản Python cụ thể

$ sudo installer -pkg /Library/Developer/CommandLineTools/Packages/macOS_SDK_headers_for_macOS_10.14.pkg -target /
18

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 xem một số điều cơ bản về cách sử dụng chúng. Trước tiên, hãy kiểm tra phiên bản Python nào bạn có sẵn

$ sudo installer -pkg /Library/Developer/CommandLineTools/Packages/macOS_SDK_headers_for_macOS_10.14.pkg -target /
19

$ sudo installer -pkg /Library/Developer/CommandLineTools/Packages/macOS_SDK_headers_for_macOS_10.14.pkg -target /
116 chỉ ra rằng phiên bản Python
$ sudo installer -pkg /Library/Developer/CommandLineTools/Packages/macOS_SDK_headers_for_macOS_10.14.pkg -target /
117 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
$ sudo installer -pkg /Library/Developer/CommandLineTools/Packages/macOS_SDK_headers_for_macOS_10.14.pkg -target /
8 của bạn. Điều này có nghĩa là, theo mặc định, bạn vẫn đang sử dụng Python hệ thống của mình

$ sudo installer -pkg /Library/Developer/CommandLineTools/Packages/macOS_SDK_headers_for_macOS_10.14.pkg -target /
70

Nếu bạn cố 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
5, bạn sẽ thấy điều này

$ sudo installer -pkg /Library/Developer/CommandLineTools/Packages/macOS_SDK_headers_for_macOS_10.14.pkg -target /
71

Điều này có thể gây ngạc nhiên, nhưng đây là cách hoạt động của

$ sudo installer -pkg /Library/Developer/CommandLineTools/Packages/macOS_SDK_headers_for_macOS_10.14.pkg -target /
8.
$ sudo installer -pkg /Library/Developer/CommandLineTools/Packages/macOS_SDK_headers_for_macOS_10.14.pkg -target /
8 tự chèn vào
$ sudo installer -pkg /Library/Developer/CommandLineTools/Packages/macOS_SDK_headers_for_macOS_10.14.pkg -target /
122 của bạn và từ quan điểm của hệ điều hành của bạn là tệp 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

$ sudo installer -pkg /Library/Developer/CommandLineTools/Packages/macOS_SDK_headers_for_macOS_10.14.pkg -target /
72

Ví dụ: nếu bạn muốn sử dụng phiên bản 2. 7. 15, sau đó bạn có thể sử dụng lệnh

$ sudo installer -pkg /Library/Developer/CommandLineTools/Packages/macOS_SDK_headers_for_macOS_10.14.pkg -target /
123

$ sudo installer -pkg /Library/Developer/CommandLineTools/Packages/macOS_SDK_headers_for_macOS_10.14.pkg -target /
73

Mẹo chuyên nghiệp. Một cách tuyệt vời để yên tâm rằng phiên bản Python bạn vừa cài đặt đang hoạt động bình thường là chạy bộ kiểm tra tích hợp sẵn

$ sudo installer -pkg /Library/Developer/CommandLineTools/Packages/macOS_SDK_headers_for_macOS_10.14.pkg -target /
74

Điều này sẽ khởi động rất nhiều bài kiểm tra Python nội bộ sẽ xác minh cài đặt của bạn. Bạn chỉ có thể đá lại và xem các bài kiểm tra vượt qua

Nếu bạn 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 cái này

$ sudo installer -pkg /Library/Developer/CommandLineTools/Packages/macOS_SDK_headers_for_macOS_10.14.pkg -target /
75

Bây giờ bạn có thể dễ dàng chuyển đổi giữa các phiên bản Python khác nhau. Đ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 các phiên bản, việc gõ các lệnh này một cách nhất quán sẽ rất 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

Loại bỏ các quảng cáo

Khám phá các lệnh
$ sudo installer -pkg /Library/Developer/CommandLineTools/Packages/macOS_SDK_headers_for_macOS_10.14.pkg -target /
8

$ sudo installer -pkg /Library/Developer/CommandLineTools/Packages/macOS_SDK_headers_for_macOS_10.14.pkg -target /
8 cung cấp nhiều lệnh. Bạn có thể xem danh sách đầy đủ tất cả các lệnh có sẵn với điều này

$ sudo installer -pkg /Library/Developer/CommandLineTools/Packages/macOS_SDK_headers_for_macOS_10.14.pkg -target /
76

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

$ sudo installer -pkg /Library/Developer/CommandLineTools/Packages/macOS_SDK_headers_for_macOS_10.14.pkg -target /
126 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
$ sudo installer -pkg /Library/Developer/CommandLineTools/Packages/macOS_SDK_headers_for_macOS_10.14.pkg -target /
127, bạn có thể chạy lệnh sau

$ sudo installer -pkg /Library/Developer/CommandLineTools/Packages/macOS_SDK_headers_for_macOS_10.14.pkg -target /
77

Thông báo trợ giúp mô tả mục đích của lệnh 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 tổng quan cấp cao, nhanh chóng về các lệnh được sử dụng nhiều nhất

$ sudo installer -pkg /Library/Developer/CommandLineTools/Packages/macOS_SDK_headers_for_macOS_10.14.pkg -target /
128

Bạn đã thấy lệnh

$ sudo installer -pkg /Library/Developer/CommandLineTools/Packages/macOS_SDK_headers_for_macOS_10.14.pkg -target /
128 ở 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
$ sudo installer -pkg /Library/Developer/CommandLineTools/Packages/macOS_SDK_headers_for_macOS_10.14.pkg -target /
110, bạn sẽ sử dụng cái này

$ sudo installer -pkg /Library/Developer/CommandLineTools/Packages/macOS_SDK_headers_for_macOS_10.14.pkg -target /
78

Đầu ra cho chúng ta thấy

$ sudo installer -pkg /Library/Developer/CommandLineTools/Packages/macOS_SDK_headers_for_macOS_10.14.pkg -target /
8 đang 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 như sau

FlagDescription

$ sudo installer -pkg /Library/Developer/CommandLineTools/Packages/macOS_SDK_headers_for_macOS_10.14.pkg -target /
132Liệt kê tất cả các phiên bản Python có sẵn để cài đặt
$ sudo installer -pkg /Library/Developer/CommandLineTools/Packages/macOS_SDK_headers_for_macOS_10.14.pkg -target /
133Xây dựng phiên bản gỡ lỗi của Python
$ sudo installer -pkg /Library/Developer/CommandLineTools/Packages/macOS_SDK_headers_for_macOS_10.14.pkg -target /
134Chế độ dài dòng. in trạng thái biên dịch ra thiết bị xuất chuẩn

$ sudo installer -pkg /Library/Developer/CommandLineTools/Packages/macOS_SDK_headers_for_macOS_10.14.pkg -target /
135

Lệnh

$ sudo installer -pkg /Library/Developer/CommandLineTools/Packages/macOS_SDK_headers_for_macOS_10.14.pkg -target /
135 hiển thị tất cả các phiên bản Python hiện được cài đặt

$ sudo installer -pkg /Library/Developer/CommandLineTools/Packages/macOS_SDK_headers_for_macOS_10.14.pkg -target /
19

Kết quả này không chỉ hiển thị rằng

$ sudo installer -pkg /Library/Developer/CommandLineTools/Packages/macOS_SDK_headers_for_macOS_10.14.pkg -target /
111,
$ sudo installer -pkg /Library/Developer/CommandLineTools/Packages/macOS_SDK_headers_for_macOS_10.14.pkg -target /
110,
$ sudo installer -pkg /Library/Developer/CommandLineTools/Packages/macOS_SDK_headers_for_macOS_10.14.pkg -target /
139 và
$ sudo installer -pkg /Library/Developer/CommandLineTools/Packages/macOS_SDK_headers_for_macOS_10.14.pkg -target /
117 Python của bạn đã được cài đặt mà còn cho bạn biết rằng
$ sudo installer -pkg /Library/Developer/CommandLineTools/Packages/macOS_SDK_headers_for_macOS_10.14.pkg -target /
117 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 installer -pkg /Library/Developer/CommandLineTools/Packages/macOS_SDK_headers_for_macOS_10.14.pkg -target /
90

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

$ sudo installer -pkg /Library/Developer/CommandLineTools/Packages/macOS_SDK_headers_for_macOS_10.14.pkg -target /
135 nhưng chỉ hiển thị cho bạn phiên bản Python đang 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
5

Lệnh

$ zypper in zlib-devel bzip2 libbz2-devel libffi-devel \
libopenssl-devel readline-devel sqlite3 sqlite3-devel xz xz-devel
5 rất hữu ích để xác định đường dẫn đầy đủ đến tệp thực thi hệ thống. Bởi vì
$ sudo installer -pkg /Library/Developer/CommandLineTools/Packages/macOS_SDK_headers_for_macOS_10.14.pkg -target /
8 hoạt động bằng cách sử dụng miếng chêm, lệnh này cho phép bạn xem đường dẫn đầy đủ đến tệp thực thi
$ sudo installer -pkg /Library/Developer/CommandLineTools/Packages/macOS_SDK_headers_for_macOS_10.14.pkg -target /
8 đang chạy. Ví dụ: nếu bạn muốn xem nơi cài đặt
$ sudo installer -pkg /Library/Developer/CommandLineTools/Packages/macOS_SDK_headers_for_macOS_10.14.pkg -target /
147, bạn có thể chạy lệnh này

$ sudo installer -pkg /Library/Developer/CommandLineTools/Packages/macOS_SDK_headers_for_macOS_10.14.pkg -target /
91

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

$ sudo installer -pkg /Library/Developer/CommandLineTools/Packages/macOS_SDK_headers_for_macOS_10.14.pkg -target /
147. Điều này có thể hữu ích khi bạn đã cài đặt các ứng dụng dòng lệnh

Loại bỏ các quảng cáo

$ sudo installer -pkg /Library/Developer/CommandLineTools/Packages/macOS_SDK_headers_for_macOS_10.14.pkg -target /
123

Lệnh

$ sudo installer -pkg /Library/Developer/CommandLineTools/Packages/macOS_SDK_headers_for_macOS_10.14.pkg -target /
123 đặt phiên bản Python toàn cầu. Điều này có thể được ghi đè bằng 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
$ sudo installer -pkg /Library/Developer/CommandLineTools/Packages/macOS_SDK_headers_for_macOS_10.14.pkg -target /
110 theo mặc định, thì bạn có thể chạy cái này

$ sudo installer -pkg /Library/Developer/CommandLineTools/Packages/macOS_SDK_headers_for_macOS_10.14.pkg -target /
92

Lệnh này đặt

$ sudo installer -pkg /Library/Developer/CommandLineTools/Packages/macOS_SDK_headers_for_macOS_10.14.pkg -target /
152 thành
$ sudo installer -pkg /Library/Developer/CommandLineTools/Packages/macOS_SDK_headers_for_macOS_10.14.pkg -target /
110. Để biết thêm thông tin, hãy xem phần chỉ định phiên bản Python của bạn

$ sudo installer -pkg /Library/Developer/CommandLineTools/Packages/macOS_SDK_headers_for_macOS_10.14.pkg -target /
154

Lệnh

$ sudo installer -pkg /Library/Developer/CommandLineTools/Packages/macOS_SDK_headers_for_macOS_10.14.pkg -target /
154 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
$ sudo installer -pkg /Library/Developer/CommandLineTools/Packages/macOS_SDK_headers_for_macOS_10.14.pkg -target /
111

$ sudo installer -pkg /Library/Developer/CommandLineTools/Packages/macOS_SDK_headers_for_macOS_10.14.pkg -target /
93

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

$ sudo installer -pkg /Library/Developer/CommandLineTools/Packages/macOS_SDK_headers_for_macOS_10.14.pkg -target /
157 trong thư mục hiện tại của bạn. Nếu bạn có
$ sudo installer -pkg /Library/Developer/CommandLineTools/Packages/macOS_SDK_headers_for_macOS_10.14.pkg -target /
8 đang 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

$ sudo installer -pkg /Library/Developer/CommandLineTools/Packages/macOS_SDK_headers_for_macOS_10.14.pkg -target /
159

Lệnh

$ sudo installer -pkg /Library/Developer/CommandLineTools/Packages/macOS_SDK_headers_for_macOS_10.14.pkg -target /
159 được sử dụng để đặt phiên bản Python dành riêng cho hệ vỏ. Ví dụ: nếu bạn muốn dùng thử phiên bản
$ sudo installer -pkg /Library/Developer/CommandLineTools/Packages/macOS_SDK_headers_for_macOS_10.14.pkg -target /
139 của Python, bạn có thể làm điều này

$ sudo installer -pkg /Library/Developer/CommandLineTools/Packages/macOS_SDK_headers_for_macOS_10.14.pkg -target /
94

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

$ sudo installer -pkg /Library/Developer/CommandLineTools/Packages/macOS_SDK_headers_for_macOS_10.14.pkg -target /
162. Lệnh này sẽ ghi đè bất kỳ ứng dụng hoặc cài đặt chung nào mà 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ờ
$ sudo installer -pkg /Library/Developer/CommandLineTools/Packages/macOS_SDK_headers_for_macOS_10.14.pkg -target /
163

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 installer -pkg /Library/Developer/CommandLineTools/Packages/macOS_SDK_headers_for_macOS_10.14.pkg -target /
8 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
4 đượ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
4 mà bạn đang 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?

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

$ sudo installer -pkg /Library/Developer/CommandLineTools/Packages/macOS_SDK_headers_for_macOS_10.14.pkg -target /
8 có thể tìm thấy là tùy chọn mà nó sẽ sử dụng. Hãy xem một ví dụ nhanh

$ sudo installer -pkg /Library/Developer/CommandLineTools/Packages/macOS_SDK_headers_for_macOS_10.14.pkg -target /
19

Ở đây,

$ sudo installer -pkg /Library/Developer/CommandLineTools/Packages/macOS_SDK_headers_for_macOS_10.14.pkg -target /
117 Python của bạn đang được sử dụng với ký hiệu là
$ sudo installer -pkg /Library/Developer/CommandLineTools/Packages/macOS_SDK_headers_for_macOS_10.14.pkg -target /
116. Để thực hiện cài đặt toàn cầu tiếp theo, bạn sử dụng
$ sudo installer -pkg /Library/Developer/CommandLineTools/Packages/macOS_SDK_headers_for_macOS_10.14.pkg -target /
123

$ sudo installer -pkg /Library/Developer/CommandLineTools/Packages/macOS_SDK_headers_for_macOS_10.14.pkg -target /
96

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

$ sudo installer -pkg /Library/Developer/CommandLineTools/Packages/macOS_SDK_headers_for_macOS_10.14.pkg -target /
8 muốn sử dụng
$ sudo installer -pkg /Library/Developer/CommandLineTools/Packages/macOS_SDK_headers_for_macOS_10.14.pkg -target /
110 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 mà nó tìm thấy. Tập tin đó thực sự tồn tại và bạn có thể liệt kê nội dung của nó

$ sudo installer -pkg /Library/Developer/CommandLineTools/Packages/macOS_SDK_headers_for_macOS_10.14.pkg -target /
97

Bây giờ, hãy tạo một tệp

$ sudo installer -pkg /Library/Developer/CommandLineTools/Packages/macOS_SDK_headers_for_macOS_10.14.pkg -target /
157 với
$ sudo installer -pkg /Library/Developer/CommandLineTools/Packages/macOS_SDK_headers_for_macOS_10.14.pkg -target /
154

$ sudo installer -pkg /Library/Developer/CommandLineTools/Packages/macOS_SDK_headers_for_macOS_10.14.pkg -target /
98

Một lần nữa, ở đây,

$ sudo installer -pkg /Library/Developer/CommandLineTools/Packages/macOS_SDK_headers_for_macOS_10.14.pkg -target /
8 cho biết 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
4 của chúng ta như thế nào. Lần này nó đến từ
$ sudo installer -pkg /Library/Developer/CommandLineTools/Packages/macOS_SDK_headers_for_macOS_10.14.pkg -target /
177. Lưu ý rằng việc tìm kiếm
$ sudo installer -pkg /Library/Developer/CommandLineTools/Packages/macOS_SDK_headers_for_macOS_10.14.pkg -target /
157 là đệ quy

$ sudo installer -pkg /Library/Developer/CommandLineTools/Packages/macOS_SDK_headers_for_macOS_10.14.pkg -target /
99

Mặc dù không có

$ sudo installer -pkg /Library/Developer/CommandLineTools/Packages/macOS_SDK_headers_for_macOS_10.14.pkg -target /
157 trong
$ sudo installer -pkg /Library/Developer/CommandLineTools/Packages/macOS_SDK_headers_for_macOS_10.14.pkg -target /
180, phiên bản vẫn được đặt thành
$ sudo installer -pkg /Library/Developer/CommandLineTools/Packages/macOS_SDK_headers_for_macOS_10.14.pkg -target /
111 vì
$ sudo installer -pkg /Library/Developer/CommandLineTools/Packages/macOS_SDK_headers_for_macOS_10.14.pkg -target /
157 tồn tại trong thư mục mẹ

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

$ sudo installer -pkg /Library/Developer/CommandLineTools/Packages/macOS_SDK_headers_for_macOS_10.14.pkg -target /
159

$ sudo installer -pkg /Library/Developer/CommandLineTools/Packages/macOS_SDK_headers_for_macOS_10.14.pkg -target /
10

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

$ sudo installer -pkg /Library/Developer/CommandLineTools/Packages/macOS_SDK_headers_for_macOS_10.14.pkg -target /
184

$ sudo installer -pkg /Library/Developer/CommandLineTools/Packages/macOS_SDK_headers_for_macOS_10.14.pkg -target /
11

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

$ sudo installer -pkg /Library/Developer/CommandLineTools/Packages/macOS_SDK_headers_for_macOS_10.14.pkg -target /
154

Loại bỏ các quảng cáo

Môi trường ảo và
$ sudo installer -pkg /Library/Developer/CommandLineTools/Packages/macOS_SDK_headers_for_macOS_10.14.pkg -target /
8

Môi trường ảo là một phần quan trọng trong việc quản lý cài đặt và ứng dụng Python. Nếu bạn chưa từng nghe nói về môi trường ảo trước đây, bạn có thể xem Môi trường ảo Python. sơn lót

Môi trường ảo và

$ sudo installer -pkg /Library/Developer/CommandLineTools/Packages/macOS_SDK_headers_for_macOS_10.14.pkg -target /
8 là một cặp trời sinh.
$ sudo installer -pkg /Library/Developer/CommandLineTools/Packages/macOS_SDK_headers_for_macOS_10.14.pkg -target /
8 có một plugin tuyệt vời có tên là
$ sudo installer -pkg /Library/Developer/CommandLineTools/Packages/macOS_SDK_headers_for_macOS_10.14.pkg -target /
10 giúp làm việc với nhiều phiên bản Python và nhiều môi trường ảo một cách dễ dàng. Nếu bạn đang thắc mắc về sự khác biệt giữa
$ sudo installer -pkg /Library/Developer/CommandLineTools/Packages/macOS_SDK_headers_for_macOS_10.14.pkg -target /
8,
$ sudo installer -pkg /Library/Developer/CommandLineTools/Packages/macOS_SDK_headers_for_macOS_10.14.pkg -target /
10 và các công cụ như
$ sudo installer -pkg /Library/Developer/CommandLineTools/Packages/macOS_SDK_headers_for_macOS_10.14.pkg -target /
192 hoặc
$ sudo installer -pkg /Library/Developer/CommandLineTools/Packages/macOS_SDK_headers_for_macOS_10.14.pkg -target /
193, thì đừng lo lắng. Bạn không cô đơn

Đây là những gì bạn cần biết

  • pyenv tự quản lý nhiều phiên bản Python
  • virtualenv/venv quản lý môi trường ảo cho một phiên bản Python cụ thể
  • pyenv-virtualenv quản lý môi trường ảo cho các phiên bản khác nhau của Python

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

$ sudo installer -pkg /Library/Developer/CommandLineTools/Packages/macOS_SDK_headers_for_macOS_10.14.pkg -target /
192 hoặc
$ sudo installer -pkg /Library/Developer/CommandLineTools/Packages/macOS_SDK_headers_for_macOS_10.14.pkg -target /
193 khó tính, đừng lo lắng.
$ sudo installer -pkg /Library/Developer/CommandLineTools/Packages/macOS_SDK_headers_for_macOS_10.14.pkg -target /
8 chơi độc đáo với một trong hai. Trên thực tế, bạn có thể giữ nguyên quy trình công việc mà bạn đã có nếu muốn, mặc dù tôi nghĩ rằng
$ sudo installer -pkg /Library/Developer/CommandLineTools/Packages/macOS_SDK_headers_for_macOS_10.14.pkg -target /
10 mang lại trải nghiệm tốt 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

$ sudo installer -pkg /Library/Developer/CommandLineTools/Packages/macOS_SDK_headers_for_macOS_10.14.pkg -target /
198 để cài đặt
$ sudo installer -pkg /Library/Developer/CommandLineTools/Packages/macOS_SDK_headers_for_macOS_10.14.pkg -target /
8, nên bạn đã cài đặt
$ sudo installer -pkg /Library/Developer/CommandLineTools/Packages/macOS_SDK_headers_for_macOS_10.14.pkg -target /
10 và sẵn sàng hoạt động

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

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

$ sudo installer -pkg /Library/Developer/CommandLineTools/Packages/macOS_SDK_headers_for_macOS_10.14.pkg -target /
12

Về mặt kỹ thuật,

$ sudo installer -pkg /Library/Developer/CommandLineTools/Packages/macOS_SDK_headers_for_macOS_10.14.pkg -target /
701 là tùy chọn, nhưng bạn nên cân nhắc việc luôn chỉ định nó để biết chắc mình đang sử dụng phiên bản Python nào

$ sudo installer -pkg /Library/Developer/CommandLineTools/Packages/macOS_SDK_headers_for_macOS_10.14.pkg -target /
702 chỉ là một cái tên để bạn giúp tách biệt môi trường của mình. Một thực hành tốt là đặt tên cho môi trường của bạn giống với tên dự án của bạn. Ví dụ: nếu bạn đang làm việc trên
$ sudo installer -pkg /Library/Developer/CommandLineTools/Packages/macOS_SDK_headers_for_macOS_10.14.pkg -target /
703 và muốn phát triển dựa trên Python 3. 6. 8, bạn sẽ chạy cái này

$ sudo installer -pkg /Library/Developer/CommandLineTools/Packages/macOS_SDK_headers_for_macOS_10.14.pkg -target /
13

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

$ sudo installer -pkg /Library/Developer/CommandLineTools/Packages/macOS_SDK_headers_for_macOS_10.14.pkg -target /
704,
$ sudo installer -pkg /Library/Developer/CommandLineTools/Packages/macOS_SDK_headers_for_macOS_10.14.pkg -target /
147 và
$ sudo installer -pkg /Library/Developer/CommandLineTools/Packages/macOS_SDK_headers_for_macOS_10.14.pkg -target /
706. Điều này hoàn toàn để thuận tiện và chỉ thiết lập một môi trường đầy đủ tính năng hơn cho từng môi trường ảo của bạn

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

Bây giờ bạn đã tạo 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

$ sudo installer -pkg /Library/Developer/CommandLineTools/Packages/macOS_SDK_headers_for_macOS_10.14.pkg -target /
14

Bạn đã từng thấy lệnh

$ sudo installer -pkg /Library/Developer/CommandLineTools/Packages/macOS_SDK_headers_for_macOS_10.14.pkg -target /
707 trước đây, nhưng lần này, thay vì chỉ định một 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
$ sudo installer -pkg /Library/Developer/CommandLineTools/Packages/macOS_SDK_headers_for_macOS_10.14.pkg -target /
157 trong thư mục làm việc hiện tại của bạn và vì bạn đã chạy
$ sudo installer -pkg /Library/Developer/CommandLineTools/Packages/macOS_SDK_headers_for_macOS_10.14.pkg -target /
709 trong môi trường của mình nên 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 installer -pkg /Library/Developer/CommandLineTools/Packages/macOS_SDK_headers_for_macOS_10.14.pkg -target /
15

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

$ sudo installer -pkg /Library/Developer/CommandLineTools/Packages/macOS_SDK_headers_for_macOS_10.14.pkg -target /
703 và tệp thực thi
$ zypper in zlib-devel bzip2 libbz2-devel libffi-devel \
libopenssl-devel readline-devel sqlite3 sqlite3-devel xz xz-devel
4 đang trỏ đến phiên bản đó. Nếu bạn nhìn vào bất kỳ tệp 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ụ,
$ sudo installer -pkg /Library/Developer/CommandLineTools/Packages/macOS_SDK_headers_for_macOS_10.14.pkg -target /
147

$ sudo installer -pkg /Library/Developer/CommandLineTools/Packages/macOS_SDK_headers_for_macOS_10.14.pkg -target /
16

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

$ sudo installer -pkg /Library/Developer/CommandLineTools/Packages/macOS_SDK_headers_for_macOS_10.14.pkg -target /
709 để chạy trong trình bao của mình, bạn có thể kích hoạt/hủy kích hoạt các phiên bản Python của mình theo cách thủ công bằng cách này

$ sudo installer -pkg /Library/Developer/CommandLineTools/Packages/macOS_SDK_headers_for_macOS_10.14.pkg -target /
17

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

$ sudo installer -pkg /Library/Developer/CommandLineTools/Packages/macOS_SDK_headers_for_macOS_10.14.pkg -target /
10 đang làm khi nó vào hoặc thoát khỏi một thư mục có tệp
$ sudo installer -pkg /Library/Developer/CommandLineTools/Packages/macOS_SDK_headers_for_macOS_10.14.pkg -target /
157 trong đó

Loại bỏ các quảng cáo

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

Kết hợp mọi thứ bạn đã học với nhau, bạn có thể làm việc hiệu quả với nhiều môi trường. Giả sử bạn đã cài đặt các phiên bản sau

$ sudo installer -pkg /Library/Developer/CommandLineTools/Packages/macOS_SDK_headers_for_macOS_10.14.pkg -target /
19

Bây giờ bạn muốn làm việc trên hai dự án khác nhau, được đặt tên phù hợp

  1. project1 hỗ trợ Python 2. 7 và 3. 6
  2. project2 hỗ trợ Python 3. 6 và thí nghiệm với 3. 8-dev

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

$ sudo installer -pkg /Library/Developer/CommandLineTools/Packages/macOS_SDK_headers_for_macOS_10.14.pkg -target /
116 trong đầu ra
$ sudo installer -pkg /Library/Developer/CommandLineTools/Packages/macOS_SDK_headers_for_macOS_10.14.pkg -target /
717. Đầu tiên, tạo một môi trường ảo cho dự án đầu tiên

$ sudo installer -pkg /Library/Developer/CommandLineTools/Packages/macOS_SDK_headers_for_macOS_10.14.pkg -target /
19

Cuối cùng, lưu ý rằng khi bạn

$ sudo installer -pkg /Library/Developer/CommandLineTools/Packages/macOS_SDK_headers_for_macOS_10.14.pkg -target /
718 ra khỏi thư mục, bạn sẽ mặc định quay lại hệ thống Python

$ sudo installer -pkg /Library/Developer/CommandLineTools/Packages/macOS_SDK_headers_for_macOS_10.14.pkg -target /
0

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

$ sudo installer -pkg /Library/Developer/CommandLineTools/Packages/macOS_SDK_headers_for_macOS_10.14.pkg -target /
1

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

$ sudo installer -pkg /Library/Developer/CommandLineTools/Packages/macOS_SDK_headers_for_macOS_10.14.pkg -target /
718 giữa các dự án, môi trường của bạn sẽ tự động kích hoạt

$ sudo installer -pkg /Library/Developer/CommandLineTools/Packages/macOS_SDK_headers_for_macOS_10.14.pkg -target /
2

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 installer -pkg /Library/Developer/CommandLineTools/Packages/macOS_SDK_headers_for_macOS_10.14.pkg -target /
8 sẽ tự động kích hoạt đúng phiên bản Python và đúng môi trường ảo

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

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

$ sudo installer -pkg /Library/Developer/CommandLineTools/Packages/macOS_SDK_headers_for_macOS_10.14.pkg -target /
721 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 installer -pkg /Library/Developer/CommandLineTools/Packages/macOS_SDK_headers_for_macOS_10.14.pkg -target /
722, bạn sẽ nhận được điều này

$ sudo installer -pkg /Library/Developer/CommandLineTools/Packages/macOS_SDK_headers_for_macOS_10.14.pkg -target /
3

$ sudo installer -pkg /Library/Developer/CommandLineTools/Packages/macOS_SDK_headers_for_macOS_10.14.pkg -target /
8 thông báo cho bạn điều đó, trong khi Python 3. 6 không khả dụng trong môi trường hoạt động hiện tại, nó khả dụng trong các môi trường khác.
$ sudo installer -pkg /Library/Developer/CommandLineTools/Packages/macOS_SDK_headers_for_macOS_10.14.pkg -target /
8 cung cấp cho bạn cách kích hoạt nhiều môi trường cùng lúc bằng lệnh quen thuộc

$ sudo installer -pkg /Library/Developer/CommandLineTools/Packages/macOS_SDK_headers_for_macOS_10.14.pkg -target /
4

Điều này cho

$ sudo installer -pkg /Library/Developer/CommandLineTools/Packages/macOS_SDK_headers_for_macOS_10.14.pkg -target /
8 biết rằng bạn muốn sử dụng môi trường ảo
$ sudo installer -pkg /Library/Developer/CommandLineTools/Packages/macOS_SDK_headers_for_macOS_10.14.pkg -target /
721 làm tùy chọn đầu tiên. Vì vậy, nếu một lệnh, ví dụ như
$ zypper in zlib-devel bzip2 libbz2-devel libffi-devel \
libopenssl-devel readline-devel sqlite3 sqlite3-devel xz xz-devel
4, có thể được giải quyết trong cả hai môi trường, nó sẽ chọn
$ sudo installer -pkg /Library/Developer/CommandLineTools/Packages/macOS_SDK_headers_for_macOS_10.14.pkg -target /
721 trước
$ sudo installer -pkg /Library/Developer/CommandLineTools/Packages/macOS_SDK_headers_for_macOS_10.14.pkg -target /
110. Hãy xem điều gì sẽ xảy ra nếu bạn chạy cái này

$ sudo installer -pkg /Library/Developer/CommandLineTools/Packages/macOS_SDK_headers_for_macOS_10.14.pkg -target /
5

Ở đây,

$ sudo installer -pkg /Library/Developer/CommandLineTools/Packages/macOS_SDK_headers_for_macOS_10.14.pkg -target /
8 cố gắng tìm lệnh
$ sudo installer -pkg /Library/Developer/CommandLineTools/Packages/macOS_SDK_headers_for_macOS_10.14.pkg -target /
722 và vì nó tìm thấy nó trong một môi trường đang hoạt động nên 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 có sẵn trên
$ sudo installer -pkg /Library/Developer/CommandLineTools/Packages/macOS_SDK_headers_for_macOS_10.14.pkg -target /
122 của bạn để thực thi

Mẹo chuyên nghiệp. Nếu bạn đang sử dụng tox và

$ sudo installer -pkg /Library/Developer/CommandLineTools/Packages/macOS_SDK_headers_for_macOS_10.14.pkg -target /
8, bạn nên kiểm tra gói tox-pyenv

Giả sử trong ví dụ trên, bạn đã tìm thấy sự cố 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ộ. Thử nghiệm 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 một môi trường mới

$ sudo installer -pkg /Library/Developer/CommandLineTools/Packages/macOS_SDK_headers_for_macOS_10.14.pkg -target /
6

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 về môi trường mặc định của mình

$ sudo installer -pkg /Library/Developer/CommandLineTools/Packages/macOS_SDK_headers_for_macOS_10.14.pkg -target /
4

Loại bỏ các quảng cáo

Phần kết luận

Giờ đây, bạn có thể đóng góp dễ dàng 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à tốt nhất mà không phải lo lắng về việc làm hỏng bộ máy phát triển của mình, tất cả đều có một công cụ tuyệt vời.

$ sudo installer -pkg /Library/Developer/CommandLineTools/Packages/macOS_SDK_headers_for_macOS_10.14.pkg -target /
8

Bạn đã thấy

$ sudo installer -pkg /Library/Developer/CommandLineTools/Packages/macOS_SDK_headers_for_macOS_10.14.pkg -target /
8 có thể giúp bạn như thế nào

  • 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 installer -pkg /Library/Developer/CommandLineTools/Packages/macOS_SDK_headers_for_macOS_10.14.pkg -target /
    
    8
  • Tự động kích hoạt các phiên bản Python và môi trường ảo khác nhau

Nếu bạn vẫn còn thắc mắc, vui lòng liên hệ trong phần nhận xét hoặc trên Twitter. Ngoài ra, tài liệu pyenv là một tài nguyên tuyệt vời

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 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, bạn sẽ dễ bị nhầm lẫn về phiên bản nào hiện đang hoạt động. Tôi sử dụng chủ đề oh-my-zsh và agnoster, theo mặc định, lời nhắc của tôi trông như thế này

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 installer -pkg /Library/Developer/CommandLineTools/Packages/macOS_SDK_headers_for_macOS_10.14.pkg -target /
737 hoặc
$ sudo installer -pkg /Library/Developer/CommandLineTools/Packages/macOS_SDK_headers_for_macOS_10.14.pkg -target /
738. Để giúp giảm thời gian tìm hiểu môi trường Python đang hoạt động của tôi, tôi thêm môi trường ảo
$ sudo installer -pkg /Library/Developer/CommandLineTools/Packages/macOS_SDK_headers_for_macOS_10.14.pkg -target /
8 mà tôi đang sử dụng vào lời nhắc của mình

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

$ sudo installer -pkg /Library/Developer/CommandLineTools/Packages/macOS_SDK_headers_for_macOS_10.14.pkg -target /
740 và được hiển thị ngay ở đầu lời nhắc. Điều này cho phép tôi nhanh chóng xem phiên bản Python nào tôi đang sử dụng ngay lập tức. Nếu bạn cũng muốn sử dụng cái này, bạn có thể sử dụng chủ đề agnoster-pyenv của tôi

Đánh dấu là đã hoàn thành

Xem ngay Hướng dẫn này có một khóa học video liên quan do nhóm Real Python tạo. Xem nó cùng với hướng dẫn bằng văn bản để hiểu sâu hơn. Bắt đầu quản lý nhiều phiên bản Python với pyenv

🐍 Thủ thuật Python 💌

Nhận một Thủ thuật Python ngắn và hấp dẫn được gửi đến hộp thư đến của bạn vài ngày một lần. Không có thư rác bao giờ. Hủy đăng ký bất cứ lúc nào. Được quản lý bởi nhóm Real Python

Gửi cho tôi thủ thuật Python »

Giới thiệu về Logan Jones

Xin chào, tôi là Logan, một cộng tác viên mã nguồn mở, nhà văn cho Real Python, nhà phát triển phần mềm và luôn cố gắng cải thiện. Hãy liên hệ và chúng ta hãy cùng nhau trở nên tốt hơn

» Thông tin thêm về Logan

Mỗi hướng dẫn tại Real Python được tạo bởi một nhóm các nhà phát triển để nó đáp ứng các tiêu chuẩn chất lượng cao của chúng tôi. Các thành viên trong nhóm đã làm việc trong hướng dẫn này là

Aldren

Brad

Joanna

Bậc thầy Kỹ năng Python trong thế giới thực Với quyền truy cập không giới hạn vào Python thực

Tham gia với chúng tôi và có quyền truy cập vào hàng nghìn hướng dẫn, khóa học video thực hành và cộng đồng các Pythonistas chuyên gia

Nâng cao kỹ năng Python của bạn »

Bậc thầy Kỹ năng Python trong thế giới thực
Với quyền truy cập không giới hạn vào Python thực

Tham gia với chúng tôi và có quyền truy cập vào hàng ngàn hướng dẫn, khóa học video thực hành và cộng đồng các chuyên gia Pythonistas

Nâng cao kỹ năng Python của bạn »

Bạn nghĩ sao?

Đánh giá bài viết này

Tweet Chia sẻ Chia sẻ Email

Bài học số 1 hoặc điều yêu thích mà bạn đã học được là gì?

Mẹo bình luận. Những nhận xét hữu ích nhất là những nhận xét được viết với mục đích học hỏi hoặc giúp đỡ các sinh viên khác. Nhận các mẹo để đặt câu hỏi hay và nhận câu trả lời cho các câu hỏi phổ biến trong cổng thông tin hỗ trợ của chúng tôi

Tôi có thể cài đặt nhiều phiên bản Python trên máy Mac không?

Với pyenv, bạn có thể cài đặt nhiều phiên bản Python trên máy của mình và dễ dàng chuyển đổi giữa các phiên bản đó. Ghi chú. bài viết này hướng đến người dùng Mac và đặc biệt là người dùng Apple Silicon Mac. Người dùng Linux có thể được hưởng lợi từ hướng dẫn pyenv, nhưng người dùng Windows thì không gặp may — pyenv không hỗ trợ chính thức cho Windows.

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

Với Bộ điều hướng, 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 phiên bản Python khác với phiên bản bạ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.

Tôi có thể cài đặt cả Python 2 và 3 trên máy Mac không?

Sử dụng brew install python để cài đặt python3 trên mac, phiên bản hiện tại là Python 3. 6. 5. Nếu máy mac của bạn đã có python2, brew sẽ yêu cầu nâng cấp, điều này không sao cả.

Chủ Đề