Virtual Environment khi lập trình Python

 Khác với gói npm trong Node.js cho phép ta quản lý gói cho từng dự án một thì Python lại không có khả năng này. Việc này sẽ gây rắc rối nếu các dự án khác nhau yêu cầu các gói thư viện khác version nhau. Ngoài ra, đôi lúc ta cũng chẳng muốn cài các gói vào môi trường global làm gì cả mà chỉ muốn cài vào local sài xong là xoá đi luôn.

Virtual Environment cho phép bạn tùy biến việc sử dụng các thư viện cần thiết theo đúng phiên bản mà bạn muốn cho từng project, bạn có thể cùng lúc chạy 2 project với phiên bản Django khác nhau mà không làm ảnh hưởng lẫn nhau. 

Cho phép bạn làm việc trong một môi trường ảo mà không bị ảnh hưởng bởi những thư viện phần mềm, gói cài đặt mà bạn đã cài trên toàn hệ thống. Trong Python, môi trường ảo được sử dụng để cô lập môi trường của các dự án với nhau. 

Tạo môi trường:

python -m venv <tên folder chứa thông tin Virtual Environment cho dự án của bạn>
hoặc py -3 -m venv venv

Bạn có thể đặt tên venv ở các project khác nhau.

Activate môi trường vừa tạo trên Windows:

> python -m venv venv
> venv\Scripts\activate

Đối với Linux:

$ python -m venv venv
$ source venv/bin/activate

Bây giờ bạn muốn bê nguyên dự án bạn đang làm sang máy khác,  cách đơn giản nhất là sử dụng pip để freeze lại các gói cài sau đó cài đặt lại.

$ pip freeze > requirements.txt

Trên máy mới hoặc project folder mới:

$ pip install -r requirements.txt

Các công cụ tạo và quản lý Virtual Environment sẽ thêm và sử dụng 1 folder trong dự án của bạn để quản lý các gói cài đặt cũng như phiên bản Python (./venv như trong ví dụ trên), bạn không cần thiết phải quan tâm tới folder này, hãy nhớ đưa folder này vào .gitignore file trong trường hợp bạn sử dụng git.

Để kiểm tra, ta có thể chạy lệnh:

$ python --version
Python 3.8.2
$ pip --version 

Việc xuất gói để đồng bộ môi trường với những thành viên khác trong đội dự án cũng được thực hiện tương tự như môi trường thật:

pip freeze -l > requirements.txt

Đương nhiên là việc cài đặt theo danh sách gói này cũng thế:

pip install -r requirements.txt

Để hủy kích hoạt môi trường, bạn cần gõ lệnh deactivate.



Nhận xét

Bài đăng phổ biến từ blog này

Thương mại hoá y tế

Các IDE hỗ trợ lập trình viên Python

CÁCH XỬ LÝ FILE trong Python