Unlimited Plugins, WordPress themes, videos & courses! Unlimited asset downloads! From $16.50/m
Advertisement
  1. Code
  2. Python

Tìm hiểu Môi trường Ảo trong Python

by
Difficulty:BeginnerLength:ShortLanguages:

Vietnamese (Tiếng Việt) translation by Dai Phong (you can also view the original English article)

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

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

Môi trường ảo là một công cụ để duy trì không gian riêng biệt cho một dự án với các phụ thuộc và các thư viện của nó ở một nơi. Môi trường này thì riêng biệt cho một dự án cụ thể và không ảnh hưởng đến các phụ thuộc của các dự án khác.

Ví dụ, bạn có thể làm việc trên dự án X đang sử dụng phiên bản 1.0 của thư viện Z và đồng thời duy trì dự án Y sử dụng phiên bản 2.0 của thư viện Z.

Môi trường Ảo Hoạt động Như thế nào?

Công cụ môi trường ảo tạo một thư mục bên trong thư mục dự án. Mặc định, thư mục được gọi là venv, nhưng bạn cũng có thể đặt tên cho nó. Nó giữ cho Python và các tập tin thực thi pip nằm bên trong thư mục môi trường ảo. Khi môi trường ảo được kích hoạt, các gói được cài đặt sau khi nó được cài đặt bên trong thư mục môi trường ảo cụ thể của dự án.

Làm quen với VirtualEnv

Trước tiên, đảm bảo rằng bạn đã cài đặt pip trên hệ thống. Bạn có thể cài đặt pip bằng lệnh sau:

Sử dụng pip để cài đặt các công cụ môi trường ảo.

Để bắt đầu sử dụng virtualenv, bạn cần khởi tạo và kích hoạt nó. Hãy bắt đầu bằng cách tạo mới một thư mục dự án Python có tên là PythonApp.

Điều hướng đến thư mục dự án PythonApp và khởi tạo môi trường ảo bằng cách gõ lệnh sau:

Lệnh trên sẽ thiết lập môi trường ảo cho dự án PythonApp.

Setting Up Virtual Environment

Nó tạo ra một thư mục gọi là PythonAppVenv bên trong thư mục dự án PythonApp. Nó giữ cho Python và pip thực thi bên trong thư mục môi trường ảo. Bất kỳ gói mới nào được cài đặt cho dự án sau khi kích hoạt môi trường ảo đều được đặt bên trong thư mục môi trường ảo. Dưới đây là cấu trúc thư mục:

Virtual Environment Folder Structure

Để bắt đầu sử dụng môi trường ảo, bạn cần kích hoạt nó bằng lệnh sau:

Sau khi kích hoạt, bạn sẽ thấy tên PythonAppVenv ở phía bên trái của dấu nhắc lệnh.

Virtual Environment Activated

Hãy thử cài đặt một gói mới cho dự án PythonApp.

Gói mới sẽ được cài đặt bên trong thư mục môi trường ảo. Hãy kiểm tra thư mục môi trường ảo bên trong lib/python2.7/site-packages và bạn sẽ có thể thấy gói flask vừa mới được cài đặt. Bạn có thể tìm hiểu thêm về Flask trên trang dự án.

Flask Package Installed in Virtual Directory

Một khi bạn đã sử dụng xong môi trường ảo, bạn có thể hủy kích hoạt bằng lệnh sau đây:

Dễ dàng hơn để Theo dõi các Gói

Khi làm việc với các chương trình Python, bạn cài đặt các gói khác nhau theo yêu cầu của chương trình. Khi bạn tiếp tục làm việc, và danh sách các gói cài đặt ngày càng nhiều. Bây giờ đến lúc bạn cần gửi code Python đến production server. Rất tiếc... Bạn thực sự không thể biết gói nào mà bạn đã cài đặt cho chương trình.

Tất cả những gì bạn có thể làm là mở chương trình Python và kiểm tra tất cả các gói mà bạn đã import trong chương trình của bạn và cài đặt từng cái một.

Một môi trường ảo cung cấp một phương pháp dễ dàng hơn để theo dõi các gói được cài đặt trong dự án. Một khi bạn đã kích hoạt môi trường ảo, nó cung cấp khả năng đóng băng trạng thái hiện tại của các gói trong môi trường.

Bạn có thể làm điều này bằng lệnh sau đây:

Lệnh trên tạo ra một tập tin có tên là requirements.txt chứa các chi tiết về các gói với các phiên bản trong môi trường hiện tại. Nó sẽ trông như sau:

Requirements File

Bây giờ tập tin này sẽ thực sự hữu ích cho việc triển khai dự án trên một nền tảng khác vì tất cả các phụ thuộc của dự án đã có sẵn cho bạn trong tập tin requirements.txt. Để cài đặt các phụ thuộc của dự án bằng tập tin requirements.txt, hãy chạy lệnh sau:

Virtualenvwrapper để Làm cho Mọi thứ Dễ dàng hơn

virtualenv thực sự là một công cụ tiện lợi cho các nhà phát triển. Nhưng nó thật sự phức tạp khi bạn phải làm việc với nhiều môi trường ảo. Để quản lý nhiều môi trường ảo, có một extension cho công cụ virtualenv được gọi là virtualenvwrapper.

virtualenvwrapper là một wrapper bao quanh công cụ virtualenv cung cấp chức năng quản lý nhiều môi trường ảo.

Hãy bắt đầu cài đặt virtualenvwrapper bằng pip.

Một khi bạn đã cài đặt virtualenvwrapper, bạn cần phải thiết lập thư mục làm việc nơi các môi trường ảo sẽ được lưu trữ. Chạy lệnh sau đây để thiết lập thư mục làm việc cho virtualenvwrapper:

Lệnh trên thiết lập thư mục làm việc cho virtualenvwrapper thành thư mục .virtualenvs trong thư mục home.

Bạn có thể source các lệnh virtualenvwrapper để chạy từ terminal hoặc thêm các lệnh virtualenvwrapper vào .bashrc.

Source virtualenvwrapper

Bây giờ các lệnh sẽ có thể truy cập được trong terminal hiện hành bằng cách nhấn phím Tab. Tạo một thư mục dự án mới gọi là PythonProject. Chuyển tới thư mục dự án đó. Trước đó, khi bạn sử dụng virtualenv, trước tiên bạn tạo ra môi trường ảo và sau đó kích hoạt nó. Sử dụng virtualenvwrapper, bạn có thể hoàn tất cả hai nhiệm vụ này bằng một lệnh duy nhất.

Lệnh ở trên tạo ra môi trường ảo và sau đó kích hoạt nó.

Activate Virtual Environment Using virtualenvwrapper

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

Bây giờ giả sử trong những tình huống nhất định, bạn cần phải chuyển đổi giữa các môi trường ảo khác nhau mà bạn đang làm việc trên đó. virtualenvwrapper cung cấp một phương thức workon để chuyển đổi giữa các môi trường ảo. Lệnh để chuyển đổi môi trường ảo là:

Trong lệnh trên, PythonV là tên của môi trường ảo. Dưới đây là một ảnh minh hoạ lệnh workon:

Switching Virtual Environment Using workon Command

virtualenvwrapper cũng cung cấp một lệnh liệt kê các môi trường ảo trong môi trường của bạn.

Lệnh trên sẽ hiển thị một danh sách các môi trường ảo tồn tại bên trong môi trường.

Listing Existing Virtual Environments

Để loại bỏ một môi trường ảo hiện có, bạn có thể sử dụng lệnh rmvirtualenv.

Remove the Virtual Environment

Có một lệnh tạo ra một thư mục dự án và môi trường ảo tương ứng của nó. Chuyển đến Terminal và chạy lệnh sau:

Lệnh trên sẽ tạo dự án và môi trường ảo tương ứng của nó.

Create Project Directory and Associated Virtual Directory

Có một vài lệnh nữa mà bạn có thể sử dụng trong virtualenvwrapper. Bạn có thể tìm thấy danh sách các lệnh sẵn có bằng cách gõ lệnh sau:

List of Commands Available in virtualenvwrapper

Phần tóm tắt

Trong hướng dẫn này, bạn đã tìm cách sử dụng các môi trường ảo trong Python. Bạn đã học được tầm quan trọng của việc sử dụng môi trường ảo và cách hoạt động của nó. Bạn cũng đã tìm hiểu virtualenvwrapper, một wrapper trong công cụ virtualenv để quản lý nhiều môi trường ảo.

Bạn đã bao giờ sử dụng môi trường ảo trong Python chưa? Hãy cho chúng tôi biết những suy nghĩ của bạn trong phần bình luận ​​dưới đây nhé.

Advertisement
Advertisement
Advertisement
Advertisement
Looking for something to help kick start your next project?
Envato Market has a range of items for sale to help get you started.