Thay đổi phiên bản python trong cửa sổ virtualenv

Trong hướng dẫn này, chúng ta sẽ tìm hiểu về môi trường ảo Python, lợi ích của việc sử dụng môi trường ảo và cách làm việc bên trong môi trường ảo

Sau khi bạn hoàn thành hướng dẫn này, bạn sẽ hiểu những điều sau

Nếu bạn cần cài đặt Python trên Mac, hãy tham khảo bài hướng dẫn Cài đặt và chạy Python trên Mac

Ghi chú. rằng hướng dẫn này chủ yếu dành cho người dùng macOS và Linux;

Môi trường ảo Python là gì?

Môi trường ảo Python bao gồm hai thành phần thiết yếu. trình thông dịch Python mà môi trường ảo chạy trên đó và một thư mục chứa các thư viện của bên thứ ba được cài đặt trong môi trường ảo. Các môi trường ảo này được cách ly với các môi trường ảo khác, nghĩa là bất kỳ thay đổi nào đối với các phần phụ thuộc được cài đặt trong môi trường ảo đều không ảnh hưởng đến các phần phụ thuộc của các môi trường ảo khác hoặc các thư viện trên toàn hệ thống. Do đó, chúng ta có thể tạo nhiều môi trường ảo với các phiên bản Python khác nhau, cộng với các thư viện khác nhau hoặc cùng một thư viện trong các phiên bản khác nhau

Thay đổi phiên bản python trong cửa sổ virtualenv

Hình trên minh họa những gì bạn có trên hệ thống của mình khi chúng tôi tạo nhiều môi trường ảo Python. Như hình minh họa ở trên cho thấy, một môi trường ảo là một cây thư mục chứa một phiên bản Python cụ thể, các thư viện của bên thứ ba và các tập lệnh khác;

Tại sao môi trường ảo Python lại quan trọng?

Tầm quan trọng của môi trường ảo Python trở nên rõ ràng khi chúng ta có nhiều dự án Python khác nhau trên cùng một máy phụ thuộc vào các phiên bản khác nhau của cùng một gói. Ví dụ: hãy tưởng tượng bạn đang làm việc trên hai dự án trực quan hóa dữ liệu khác nhau sử dụng gói matplotlib, một dự án sử dụng phiên bản 2. 2 và cái kia sử dụng phiên bản 3. 5. Điều này sẽ dẫn đến các vấn đề tương thích vì Python không thể sử dụng đồng thời nhiều phiên bản của cùng một gói. Trường hợp sử dụng khác làm tăng tầm quan trọng của việc sử dụng môi trường ảo Python là khi bạn đang làm việc trên các máy chủ được quản lý hoặc môi trường sản xuất nơi bạn không thể sửa đổi các gói trên toàn hệ thống do các yêu cầu cụ thể

Môi trường ảo Python tạo các bối cảnh biệt lập để tách biệt các phụ thuộc theo yêu cầu của các dự án khác nhau để chúng không can thiệp vào các dự án khác hoặc các gói trên toàn hệ thống. Về cơ bản, thiết lập môi trường ảo là cách tốt nhất để cô lập các dự án Python khác nhau, đặc biệt nếu các dự án này có các phụ thuộc xung đột và khác nhau. Một lời khuyên dành cho các lập trình viên Python mới là luôn thiết lập một môi trường ảo riêng cho từng dự án Python và cài đặt tất cả các phụ thuộc cần thiết bên trong nó — không bao giờ cài đặt các gói trên toàn cầu

Cách sử dụng môi trường ảo Python

Cho đến giờ, chúng ta đã biết môi trường ảo là gì và tại sao chúng ta cần chúng. Trong phần hướng dẫn này, chúng ta sẽ tìm hiểu cách tạo, kích hoạt và (nói chung) làm việc với môi trường ảo. Bắt đầu nào

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

Trước tiên hãy tạo một thư mục dự án và tạo một môi trường ảo bên trong nó. Để làm như vậy, hãy mở ứng dụng đầu cuối, viết lệnh sau và nhấn quay lại

~ % mkdir alpha-prj

Bây giờ, sử dụng lệnh

~ % source alpha-prj/alpha-venv/bin/activate
0 để tạo một môi trường ảo bên trong thư mục dự án, như sau

~ % python3 -m venv alpha-prj/alpha-venv

LƯU Ý Có hai công cụ để thiết lập môi trường ảo,

~ % source alpha-prj/alpha-venv/bin/activate
1 và
~ % source alpha-prj/alpha-venv/bin/activate
0, chúng ta có thể sử dụng gần như thay thế cho nhau.
~ % source alpha-prj/alpha-venv/bin/activate
1 hỗ trợ các phiên bản Python cũ hơn và cần được cài đặt bằng lệnh
~ % source alpha-prj/alpha-venv/bin/activate
4. Ngược lại,
~ % source alpha-prj/alpha-venv/bin/activate
0 chỉ được sử dụng với Python 3. 3 trở lên và được bao gồm trong thư viện chuẩn Python, không cần cài đặt


Kích hoạt môi trường ảo Python

Để kích hoạt môi trường ảo mà chúng ta đã tạo ở bước trước, hãy chạy lệnh sau

~ % source alpha-prj/alpha-venv/bin/activate

Như bạn đã thấy sau khi kích hoạt môi trường ảo, tên của nó xuất hiện trong dấu ngoặc đơn khi bắt đầu dấu nhắc thiết bị đầu cuối. Chạy lệnh which

~ % source alpha-prj/alpha-venv/bin/activate
6 là một cách khác để đảm bảo rằng môi trường ảo đang hoạt động. Nếu chúng ta chạy lệnh này, nó sẽ hiển thị vị trí của trình thông dịch Python trong môi trường ảo. Hãy kiểm tra vị trí trong môi trường ảo

(alpha-venv) ~ % which python
/Users/lotfinejad/alpha-prj/alpha-venv/bin/python

Thật tốt khi biết rằng phiên bản Python của môi trường ảo giống với phiên bản Python được sử dụng để tạo môi trường. Hãy kiểm tra phiên bản Python trong môi trường ảo

(alpha-venv) ~ % python —version
Python 3.10.1

Vì tôi sử dụng Python 3. 10 để thiết lập môi trường ảo, thì môi trường ảo sử dụng chính xác phiên bản Python

Cài đặt gói trong môi trường ảo Python

Chúng tôi hiện đang ở trong một môi trường ảo bị cô lập, nơi chỉ có

~ % source alpha-prj/alpha-venv/bin/activate
4 và
~ % source alpha-prj/alpha-venv/bin/activate
8 được cài đặt theo mặc định. Hãy kiểm tra các gói cài đặt sẵn trên môi trường ảo bằng cách chạy lệnh
~ % source alpha-prj/alpha-venv/bin/activate
9

(alpha-venv) ~ % pip list
Package    Version
---------- -------
pip        21.2.4
setuptools 58.1.0

Trước khi chúng tôi muốn sử dụng

~ % source alpha-prj/alpha-venv/bin/activate
4 để cài đặt bất kỳ gói nào, hãy nâng cấp nó lên phiên bản mới nhất. Vì chúng ta đang làm việc bên trong môi trường ảo, lệnh sau chỉ nâng cấp công cụ
~ % source alpha-prj/alpha-venv/bin/activate
4 bên trong môi trường này, không phải trong các môi trường ảo khác hoặc trên toàn hệ thống

(alpha-venv) ~ % alpha-prj/alpha-venv/bin/python3 -m pip install --upgrade pip

Hãy chạy lại lệnh

~ % source alpha-prj/alpha-venv/bin/activate
9 để xem các thay đổi

(alpha-venv) ~ % pip list
Package    Version
---------- -------
pip        21.3.1
setuptools 58.1.0

Rõ ràng là

~ % source alpha-prj/alpha-venv/bin/activate
4 được cập nhật từ phiên bản 21. 2. 4 đến 21. 3. 1. Bây giờ, hãy cài đặt gói gấu trúc vào môi trường. Trước khi cài đặt gói, bạn cần quyết định phiên bản nào sẽ cài đặt. Nếu bạn định cài đặt phiên bản mới nhất, bạn chỉ cần sử dụng lệnh sau

(alpha-venv) ~ % python3 -m pip install pandas

Nhưng nếu bạn muốn cài đặt một phiên bản cụ thể của gói, bạn cần sử dụng lệnh này

(alpha-venv) ~ % python3 -m pip install pandas==1.1.1

Bây giờ, hãy xem làm thế nào chúng ta có thể nói với

~ % source alpha-prj/alpha-venv/bin/activate
4 rằng chúng ta sẽ cài đặt bất kỳ phiên bản nào của pandas trước phiên bản 1. 2

~ % python3 -m venv alpha-prj/alpha-venv
0

Ngoài ra, chúng tôi có thể yêu cầu

~ % source alpha-prj/alpha-venv/bin/activate
4 cài đặt gói pandas sau phiên bản 0. 25. 3 như sau

~ % python3 -m venv alpha-prj/alpha-venv
1

Trong các lệnh trước, chúng tôi đặt đặc tả gói giữa các dấu ngoặc kép, vì các dấu hiệu lớn hơn

(alpha-venv) ~ % which python
/Users/lotfinejad/alpha-prj/alpha-venv/bin/python
6 và nhỏ hơn
(alpha-venv) ~ % which python
/Users/lotfinejad/alpha-prj/alpha-venv/bin/python
7 có ý nghĩa đặc biệt trên trình bao dòng lệnh. Cả hai lệnh sẽ cài đặt phiên bản mới nhất của gói gấu trúc phù hợp với các ràng buộc đã cho. Tuy nhiên, cách tốt nhất là chỉ định các gói có số phiên bản chính xác

Hãy xem lại danh sách các gói đã cài đặt trong môi trường

~ % python3 -m venv alpha-prj/alpha-venv
2

Trong khi cài đặt pandas, NumPy và ba gói khác được cài đặt tự động làm điều kiện tiên quyết cho gói pandas

Tái tạo môi trường ảo Python

Việc tái tạo một môi trường ảo là phổ biến. Giả sử đồng nghiệp của bạn sẽ làm việc trong cùng một dự án mà bạn đã làm trong nhiều tuần. Cô ấy cần cài đặt chính xác các gói giống nhau với các phiên bản chính xác trong môi trường ảo trên hệ thống của mình. Để tạo các môi trường giống hệt nhau, trước tiên bạn cần liệt kê tất cả các phụ thuộc được cài đặt trong môi trường ảo của dự án bằng cách sử dụng lệnh

(alpha-venv) ~ % which python
/Users/lotfinejad/alpha-prj/alpha-venv/bin/python
8

~ % python3 -m venv alpha-prj/alpha-venv
3

Đầu ra của

(alpha-venv) ~ % which python
/Users/lotfinejad/alpha-prj/alpha-venv/bin/python
8 khá giống với
~ % source alpha-prj/alpha-venv/bin/activate
9, nhưng nó trả về danh sách các gói được cài đặt trên một môi trường ở định dạng chính xác để tái tạo môi trường với các phiên bản gói chính xác mà dự án yêu cầu. Bước tiếp theo là xuất danh sách gói hàng vào tệp
(alpha-venv) ~ % python —version
Python 3.10.1
1. Để làm như vậy, hãy chạy lệnh này

~ % python3 -m venv alpha-prj/alpha-venv
4

Lệnh trên tạo một tệp văn bản có tên

(alpha-venv) ~ % python —version
Python 3.10.1
1 trong thư mục hiện tại. Tệp
(alpha-venv) ~ % python —version
Python 3.10.1
1 chứa tất cả các gói và phiên bản chính xác của chúng. Hãy xem nội dung tập tin

~ % python3 -m venv alpha-prj/alpha-venv
5

Tốt lắm, bạn đã tạo một

(alpha-venv) ~ % python —version
Python 3.10.1
1 mà bạn có thể phân phối cho đồng nghiệp của mình để tái tạo cùng một môi trường ảo trên hệ thống của cô ấy. Bây giờ, hãy xem cô ấy nên làm gì để tái tạo môi trường ảo. Nó khá đơn giản. Trước tiên, cô ấy cần tạo một môi trường ảo, kích hoạt nó rồi chạy lệnh
(alpha-venv) ~ % python —version
Python 3.10.1
5 để cài đặt tất cả các gói cần thiết

Cô ấy sẽ chạy ba lệnh sau

~ % python3 -m venv alpha-prj/alpha-venv
6

Lệnh cuối cùng cài đặt tất cả các gói được liệt kê trong

(alpha-venv) ~ % python —version
Python 3.10.1
1 trong môi trường ảo mà đồng nghiệp của bạn đang tạo. Vì vậy, nếu cô ấy chạy lệnh
(alpha-venv) ~ % which python
/Users/lotfinejad/alpha-prj/alpha-venv/bin/python
8 bên cạnh cô ấy, cô ấy sẽ nhận được các gói có cùng phiên bản với gói của bạn. Một điểm thích hợp khác cần xem xét là nếu bạn định thêm dự án của mình vào kho lưu trữ Git, đừng bao giờ thêm thư mục môi trường ảo của nó vào kho lưu trữ. Điều duy nhất bạn cần thêm là tệp
(alpha-venv) ~ % python —version
Python 3.10.1
1


LƯU Ý Thư mục dự án Python chứa mã nguồn chạy trong môi trường ảo. Mặt khác, môi trường ảo là một thư mục chứa trình thông dịch Python, các gói và công cụ như

~ % source alpha-prj/alpha-venv/bin/activate
4. Vì vậy, cách tốt nhất là giữ chúng riêng biệt và không bao giờ đặt các tệp dự án của bạn vào một thư mục môi trường ảo


Vô hiệu hóa môi trường ảo Python

Sau khi làm việc xong với môi trường ảo hoặc bạn muốn chuyển sang môi trường ảo khác, bạn có thể hủy kích hoạt môi trường bằng cách chạy lệnh này

~ % python3 -m venv alpha-prj/alpha-venv
7

Xóa môi trường ảo Python

Nếu bạn muốn xóa một môi trường ảo, bạn chỉ cần xóa thư mục của nó, không cần gỡ cài đặt

~ % python3 -m venv alpha-prj/alpha-venv
8

Cách sử dụng môi trường ảo Python trong Visual Studio Code

Trong phần này, chúng ta sẽ hướng dẫn cách sử dụng môi trường ảo Python trong VS Code. Trước tiên, đảm bảo bạn đã tạo và kích hoạt môi trường ảo. Bây giờ hãy điều hướng đến thư mục dự án của bạn trong thiết bị đầu cuối và chạy lệnh sau

~ % python3 -m venv alpha-prj/alpha-venv
9

Lệnh trên sẽ mở thư mục dự án trong Mã VS. Nếu lệnh trên không hoạt động, hãy mở mã VS, nhấn lệnh + shift + P, để mở Bảng lệnh, gõ lệnh shell và chọn Cài đặt lệnh 'code' trong PATH. Bây giờ, hãy tạo một tệp Python và đặt tên là

(alpha-venv) ~ % pip list
Package    Version
---------- -------
pip        21.2.4
setuptools 58.1.0
0. Bước cuối cùng là chọn môi trường ảo bằng Python. Chọn lệnh Thông dịch viên từ Bảng lệnh. Để làm như vậy, hãy nhấn Command + shift + P, rồi nhập Python, rồi chọn Select Interpreter

con trăn. Chọn Lệnh phiên dịch hiển thị tất cả các môi trường khả dụng. Hình ảnh sau đây cho thấy môi trường mà chúng ta cần chọn

Thay đổi phiên bản python trong cửa sổ virtualenv

Tại thời điểm này, nếu bạn mở thiết bị đầu cuối tích hợp trong Mã VS, bạn sẽ thấy rằng môi trường ảo đang hoạt động và bạn có thể cài đặt bất kỳ gói nào bên trong nó


Trong hướng dẫn này, chúng ta đã học cách môi trường ảo Python tránh xung đột giữa các phần phụ thuộc của các dự án khác nhau hoặc trên toàn hệ thống. Ngoài ra, chúng tôi đã học cách làm việc trên các dự án riêng biệt với các phụ thuộc khác nhau bằng cách chuyển đổi giữa các môi trường độc lập này

hướng dẫn python

Thay đổi phiên bản python trong cửa sổ virtualenv

Thông tin về các Tác giả

Mehdi Lotfinejad

Mehdi là Kỹ sư dữ liệu cao cấp và Trưởng nhóm tại ADA. Anh ấy là một huấn luyện viên chuyên nghiệp, người thích viết các hướng dẫn phân tích dữ liệu

Làm cách nào để thay đổi phiên bản Python trong môi trường ảo trong Windows?

Để tạo môi trường ảo với phiên bản Python khác, bạn thực hiện các bước sau. .
Tải xuống phiên bản Python mà bạn cần, e. g. Trăn 3. 6
Cài đặt Python thực thi. .
Chạy Visual Studio Code (hoặc bất kỳ trình chỉnh sửa hoặc thiết bị đầu cuối nào khác). .
Cài đặt virtualenv trong phiên bản Python chính của bạn qua pip install virtualenv

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

pyenv-virtualenv . Tuy nhiên, như chúng ta đã thấy, venv bị giới hạn ở các phiên bản Python lớn hơn 3. 3. pyenv can be used to install both Python 2 and 3 versions. However, as we have seen, venv is limited to versions of Python greater than 3.3.

Tôi có thể hạ cấp phiên bản Python trong virtualenv không?

Để hạ cấp phiên bản Python từ 3. 7 – 3. 6, sử dụng môi trường ảo . Điều này cho phép bạn dễ dàng truy cập các phiên bản cụ thể của python. Dưới đây là các bước. Mở dấu nhắc lệnh của bạn, sau đó nhập pip install virtualenv. Tiếp theo, cài đặt phiên bản Python mong muốn.