Tôi có thể cài đặt 2 phiên bản Python không?

Rất nhiều tester thích sử dụng Python. Rất nhiều người thử nghiệm trên máy Windows. Hiện tại có một khoảng cách lớn trong thế giới Python giữa 2. x và 3. chi nhánh x. [Xem thêm chi tiết về điều này. ] Điều này thường đặt người thử nghiệm vào tình thế phải tạo ra các giải pháp Python chạy trên cả hai phiên bản. Nhưng, ít nhất là trên Windows, điều này thật khó khăn khi cài đặt hai phiên bản Python và dễ dàng di chuyển giữa chúng. Ở đây tôi sẽ nói về cách nhóm phát triển Python đã giảm bớt điều này với trình khởi chạy Windows

Giải pháp chính thức để cùng tồn tại là Trình khởi chạy Python cho Windows, được đề cập trong PEP 397, được đưa vào Python 3. 3. 0. Tài liệu về vấn đề này đôi khi rất khó để đọc hết nên tôi muốn trình bày những gì tôi hy vọng là một cái nhìn đơn giản hóa ở đây

Cài đặt nhiều phiên bản

Giả sử bạn muốn có 3 phiên bản mới nhất. nhánh x và 2. nhánh x được cài đặt cùng lúc. Tại thời điểm tôi viết bài này, đó sẽ là 3. 4. 1 và 2. 7. 7. Vì vậy, đây là những gì bạn làm

  1. Truy cập trang tải xuống Python
  2. Tải về 3. 4. 1 gói cài đặt
  3. Cài đặt nó và chấp nhận mặc định. [Cái này quan trọng. Các giá trị mặc định bao gồm không thêm python. exe vào đường dẫn. ]
  4. Tải về 2. 7. 7 gói cài đặt
  5. Cài đặt nó và lần này KHÔNG chấp nhận các giá trị mặc định. Cụ thể, hãy xóa tùy chọn “Đăng ký tiện ích mở rộng” khỏi cài đặt

Cài đặt 3. 4. 1 gói sẽ có py. mắt và pyw. exe vào %SYSTEMROOT% [trên hệ thống Windows PATH] và sau đó liên kết chúng với. py và. tập lệnh pyw, tương ứng. Phần cuối cùng đó là quan trọng. quá trình cài đặt sẽ đăng ký chúng làm ứng dụng thực thi khi Python được thực thi. Đây chính là lý do tại sao tôi yêu cầu bạn xóa tùy chọn Đăng ký tiện ích mở rộng cho 2. 7 cài đặt. Làm điều đó sẽ ghi đè trình khởi chạy là mặc định. Lưu ý rằng những py này. exe và pyw. exe khác với python bình thường. exe có thể thực thi được mà mỗi gói bạn đã cài đặt sẽ được đặt trong c. \Python34 và c. \Python27, tương ứng

Ghi chú. Có thể là lần lặp lại tiếp theo của 2. 7. x launcher sẽ loại bỏ thực tế là Tiện ích mở rộng đăng ký được cài đặt theo mặc định. Điều chính là chỉ chú ý đến nó và đảm bảo rằng cài đặt đã bị tắt

Nhưng làm thế nào để tất cả điều này làm việc? . exe và pyw. tập tin exe

  • Mở các tệp mã nguồn và mã byte Python được khởi chạy bằng cách nhấp vào biểu tượng hoặc lệnh tên tệp
  • Không yêu cầu đường dẫn thư mục hoặc cài đặt PATH khi được sử dụng tại dòng lệnh
  • Chấp nhận số phiên bản Python được chuyển vào dưới dạng đối số dòng lệnh
  • Chấp nhận kiểu Unix #. các dòng nhận xét ở đầu tập lệnh để xác định phiên bản Python sẽ sử dụng

Bây giờ hãy xem bạn thực sự làm tất cả những điều đó xảy ra như thế nào

Sử dụng Trình khởi chạy

Cơ chế trình khởi chạy mới có nghĩa là giờ đây bạn có thể chọn các phiên bản một cách rõ ràng trên cơ sở từng tệp hoặc từng lệnh. Hoặc, trên thực tế, cả hai cùng một lúc. Bạn cũng có thể chỉ định các phiên bản ở dạng một phần hoặc toàn bộ trong cả hai ngữ cảnh đó. Tôi cho rằng một loạt các tùy chọn này là tốt, nhưng nó có thể gây nhầm lẫn. Vì vậy, ví dụ: nếu bạn muốn chọn phiên bản Python để chạy trên mỗi tệp, bạn có thể sử dụng các nhận xét “shebang” kiểu Unix như thế này

1

2

3

4

5

#. trăn2

#. trăn3

#. /usr/bin/python2. 7

#. /usr/bin/env python3. 4

#. c. \Python34\python. người cũ

Theo truyền thống, những dòng shebang đó đã bị bỏ qua trên Windows, nhưng Python phiên bản 3. 3 trở lên cũng sẽ phân tích cú pháp dòng này trên Windows. Có một lưu ý về điều này, tôi sẽ nói về điều này sau

Nếu bạn muốn chọn phiên bản cho mỗi lệnh, bạn có thể sử dụng các tùy chọn dòng lệnh như thế này

1

2

3

4

py -2 my_file. py

py -3 my_file. py

py -2. 7 tệp của tôi. py

py -3. 4 tệp của tôi. py

Trình khởi chạy cũng áp dụng một số logic để chọn một phiên bản Python cụ thể khi thông tin phiên bản bị thiếu hoặc chỉ được mô tả một phần. Ví dụ: trong cả hai bộ ví dụ của tôi ở trên, bạn có thể thấy tôi sử dụng tham chiếu chung cho “python2” và “python3” [hoặc “py -2” và “py -3”]. Cách thức hoạt động của nó là 2 phiên bản mới nhất. x Phiên bản Python được chạy khi chỉ có 2 được chỉ định. Vì vậy, nếu bạn có nhiều 2. x được cài đặt, đây là phiên bản mới nhất sẽ được sử dụng nếu bạn chỉ định một phiên bản chung 2. Điều tương tự cũng áp dụng cho 3 chung. phiên bản Python mới nhất trong 3. nhánh x sẽ được sử dụng

Tuy nhiên, bạn có thể thay đổi hành vi này nếu muốn bằng cách đặt giá trị cho các biến PY PYTHON2 và PYTHON3. Ví dụ: nếu bạn có Python 2. 5, 2. 6 và 2. 7 nhưng bạn muốn một dòng chung chung như #! python2 để sử dụng 2. 6, thì bạn chỉ cần đặt biến PY_PYTHON2 thành 2. 6. Điều này hoạt động tương tự khi sử dụng PY_PYTHON3 khi có nhiều Python 3. phiên bản x được cài đặt

Điều thú vị hơn đối với một số người là 2. phiên bản x được ưu tiên cho các tệp không đặt tên phiên bản trong dấu #. dòng khi được khởi chạy bằng cách nhấp vào biểu tượng hoặc các cuộc gọi dòng lệnh chung. Đó là một điểm quan trọng. theo mặc định, một 2. x [nếu có] sẽ được trình khởi chạy sử dụng làm Python mặc định ngay cả khi phiên bản 3. phiên bản x có sẵn. Tuy nhiên, bạn có thể thay đổi hành vi này nếu đặt biến môi trường PY_PYTHON và đặt thành 3

Vì vậy, để rõ ràng, giả sử bạn có Python 3. 4. 1 và 2. 7. 7 cài đặt. Bạn có một tập lệnh Python [my_file. py] với dòng shebang sau. #!/usr/bin/python. Trong trường hợp này, tập lệnh đó sẽ chạy với Python 2. 7. 7. Bạn có thể thay đổi thao tác này bằng cách

  • Thay đổi dòng shebang thành. #!/usr/bin/python3
  • Chỉ định phiên bản tại dòng lệnh. py -3 my_file.py
  • Thay đổi giá trị của PY_PYTHON thành 3

Đây có thể là hành vi kỳ quặc nhưng tôi nghĩ lý do căn bản ở đây là gấp đôi. Một là nhiều người sử dụng hệ sinh thái Python vẫn bị mắc kẹt trong 2. x vì nhiều thư viện vẫn đang trong quá trình chuyển sang Python 3. Vì vậy, mặc định của Python 2 có thể hợp lý. Thứ hai là các phiên bản dựa trên Unix có xu hướng dựa vào các liên kết tượng trưng từ python đến một phiên bản cụ thể và đó có xu hướng là phiên bản 2. x trên hầu hết các bản phân phối. Vì vậy, tôi nghĩ rằng trình khởi chạy Windows đang cố gắng mô phỏng trường hợp sử dụng có khả năng nhất cho các nhà phát triển Python, nhưng điều này có thể khiến những người mới sử dụng Python phải trả giá

Một vài lưu ý

Trước đó, đặc biệt với các dòng shebang, tôi đã đề cập rằng có một lưu ý mà tôi sẽ đề cập. Thông báo cụ thể đó là trình khởi chạy Windows mới nhận ra Unix #. các dòng bắt đầu bằng #!/usr/bin/env python chứ không phải các dạng khác có khả năng được sử dụng, như #!/bin/env python. Các tập lệnh với các dòng Shebang này sẽ hoạt động tốt trên các máy chạy Unix nhưng sẽ không thành công trên Windows với một lỗi như thế này. Unable to create process using '/bin/env python3.4. Bạn sẽ thấy điều tương tự xảy ra với một dòng shebang như thế này #! /bin/python. Có vẻ như trình khởi chạy yêu cầu bạn thực hiện theo một trong các mẫu sau

  • /usr/bin/env con trăn*
  • /usr/bin/trăn*
  • /usr/local/bin/python*
  • con trăn*

Một lưu ý khác cần lưu ý là nếu có cả hai dòng shebang trong tập lệnh Python và một công tắc số phiên bản được cung cấp trong dòng lệnh được sử dụng để thực thi tập lệnh đó, thì phiên bản dòng lệnh sẽ ghi đè phiên bản được chỉ định trong dòng shebang

Lưu ý rằng cả hai trình khởi chạy sẽ tự động tắt cài đặt PATH thành vị trí của python. người cũ. Điều này cũng quan trọng. Trong thế giới “Windows Launcher” mới, nếu bạn bắt đầu tập lệnh bằng py thay vì python, thì có python. exe trên PATH tốt nhất là không liên quan và tệ nhất là khó hiểu, bởi vì toàn bộ vấn đề là py gộp lại python và gọi Python có liên quan có thể thực thi được dựa trên ngữ cảnh

Một lưu ý khác, mặc dù có thể hữu ích, là trình khởi chạy cũng sẽ cho phép bạn phân biệt giữa các phiên bản Python 32 bit và 64 bit đã được cài đặt. Vì vậy, tôi có thể có Python 2. 7. 7 được cài đặt ở cả 32-bit và 64-bit cũng như có 3. 4. 1 được cài đặt cả 32-bit và 64-bit. Sử dụng trình khởi chạy sẽ cho phép tôi phân biệt giữa tất cả những thứ đó

Tôi đã đề cập trước đó cách Python 2 “mới nhất”. x hoặc Python 3. x được sử dụng nếu 2 hoặc 3 chung được chỉ định. Tôi hy vọng những điều trên đã rõ ràng điều đó có nghĩa là gì nhưng chỉ để làm cho nó rõ ràng. "mới nhất" không đề cập đến "được cài đặt mới nhất. ” Nó đề cập đến “số phiên bản mới nhất. ” Trước đây, cài đặt phiên bản Python cũ hơn trên máy đã có phiên bản mới hơn có nghĩa là “bản cài đặt mới nhất” sẽ được sử dụng thay cho “phiên bản mới nhất”. Trình khởi chạy thay đổi điều đó và luôn cố gắng sử dụng phiên bản mới nhất mà nó có thể tìm thấy trên máy

Nếu bạn yêu cầu phiên bản Python chưa được cài đặt, bạn sẽ nhận được thông báo lỗi dọc theo dòng #!/usr/bin/python3

Ngoài ra, tôi không tìm thấy quá nhiều cảnh báo khác đáng được đề cập. Tôi đã sử dụng nhiều phiên bản Python trong một thời gian và không gặp vấn đề gì. Nếu Python là ngôn ngữ bạn chọn, nhưng bạn lo lắng về 2. x/3. x chia hiện đang tồn tại. đừng sợ. Bạn có thể dễ dàng phát triển với cả hai

Bạn có thể chuyển đổi giữa các phiên bản Python không?

Có, bạn 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ể. các py. exe launcher sẽ tự động chọn phiên bản Python mới nhất mà bạn đã cài đặt.

Tôi có thể sử dụng nhiều phiên bản Python trong Windows không?

Cài đặt nhiều phiên bản python . Nếu không, chỉ cần sử dụng trình cài đặt thực thi Windows x86. Sau khi xác định tùy chọn cài đặt cho phiên bản cụ thể, chỉ cần nhấn vào liên kết tải xuống. I recommend using the Windows x86-64 executable installer option if you work on a 64bit system. Otherwise, just use the Windows x86 executable installer . After locating the install option for the specific version, just press the download link.

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

Bạn có thể cài đặt cả hai .

Tôi có thể cài đặt hai phiên bản Python cho Ubuntu không?

Bạn có thể lặp lại các bước trên và cài đặt các phiên bản python khác nhau tùy thích, đặt mức độ ưu tiên và sử dụng chúng khi cần . Để sử dụng các phiên bản python này với IDE, hãy chuyển đến cài đặt trình thông dịch của IDE và ở đó bạn có thể thấy các phiên bản python khác nhau có sẵn trên hệ thống của mình.

Làm cách nào để cài đặt và quản lý nhiều phiên bản Python trên Windows 10?

Các bước tiếp theo. .
Cài đặt và quản lý nhiều phiên bản Python
Cài đặt Trình điều khiển NVIDIA CUDA, Bộ công cụ, cuDNN và TensorRT
Cài đặt Máy chủ Máy tính xách tay Jupyter
Cài đặt môi trường ảo trong Jupyter Notebook
Cài đặt Môi trường Python cho AI và Machine LearningWSL2

Chủ Đề