Khóa học
Môi trường ảo trong Python
Tìm hiểu về Môi trường ảo và hai cách khác nhau để tạo nó: Pipenv chủ yếu được các nhà phát triển web sử dụng, còn bản phân phối Anaconda dành cho nhà khoa học dữ liệu, nơi Môi trường ảo được tạo từ 'conda' thông qua 'Anaconda Prompt'. Ngoài ra còn có tuỳ chọn thay thế để tạo từ Anaconda Navigator.
Môi trường ảo dùng để tạo một vùng chứa hay môi trường cách ly, nơi các phụ thuộc liên quan đến Python được cài đặt cho một dự án cụ thể. Bạn có thể làm việc với nhiều phiên bản Python khác nhau cùng các gói đa dạng của chúng. Các nhà khoa học dữ liệu có xu hướng sử dụng bản phân phối Anaconda, vốn đi kèm nhiều gói hữu ích được cài sẵn, dễ cài đặt và quản lý. Một nhà phát triển web dùng Django, Flask và các framework liên quan đến Python có thể dùng Pipenv làm Môi trường ảo của họ.
Pipenv
Pipenv là một cách mới và phổ biến để tự động tạo 'virtualenv' cho dự án. Nó tạo một Pipfile, giúp quản lý gói và có thể cài đặt hoặc gỡ bỏ dễ dàng. Thông qua Pipenv, 'pip' và 'virtualenv' có thể được dùng cùng nhau để tạo Môi trường ảo; Pipfile hoạt động như bản thay thế cho 'requirement.txt.' nhằm theo dõi phiên bản gói theo dự án.
Hướng dẫn này dùng Git Bash làm terminal trên hệ điều hành Windows. Tuy nhiên, với người dùng Mac có thể dùng Homebrew, là công cụ quản lý gói; tương tự, LinuxBrew có thể dùng cho người dùng Linux.
Hãy tạo một dự án bằng lệnh 'mkdir project-name', tức là tạo một thư mục với tên dự án là 'new-project' và chuyển đến thư mục vừa tạo bằng lệnh 'cd'.
Người dùng Windows có thể dùng lệnh sau để cài đặt 'pipenv'.
pip install pipenv
Người dùng Linux/Mac có thể dùng lệnh sau để cài đặt 'pipenv' sau khi cài LinuxBrew.
brew install pipenv
Tạo virtualenv cho dự án
Để tạo 'virtualenv' cho dự án, dùng lệnh sau.pipenv shell Lệnh 'pipenv' tạo một 'virtualenv' mới cho dự án cùng với Pipfile nằm cạnh đó. 
Cài đặt/Gỡ cài đặt các gói cần thiết cho dự án
Bạn sẽ cài hai gói tên là 'requests' và 'flask' trong Môi trường ảo bằng các lệnh sau.pipenv install requestspipenv install flask
Những thay đổi sau sẽ thấy được sau khi cài hai gói.
Để gỡ cài đặt gói, dùng lệnh sau.pipenv uninstall flask
Thoát khỏi Môi trường ảo
Bạn có thể dùng lệnh sau để vô hiệu hoá môi trường hiện tại. exit
Anaconda
Anaconda là nền tảng phổ biến nhất được các nhà khoa học dữ liệu và kỹ sư học máy sử dụng. Nó gồm 'Conda', giúp quản lý môi trường, thư viện và phụ thuộc.
Cài đặt Anaconda để quản lý Môi trường ảo Python
- Người dùng Windows có thể xem hướng dẫn sau để thiết lập bản phân phối Anaconda.
- Người dùng Linux/Mac sau đó xem hướng dẫn sau để thiết lập bản phân phối Anaconda.
Cài đặt Anaconda trên Mac/Linux
Hãy dùng phiên bản Anaconda 4.6 hoặc mới hơn. Có một số thay đổi nhỏ trong lệnh đối với phiên bản cũ hơn. Nếu bạn đang dùng phiên bản cũ, dùng lệnh sau để cập nhật.conda update conda Có thể dùng một trong hai cách để tạo Môi trường ảo như dưới đây.
- Anaconda Prompt - Đây là công cụ dòng lệnh có sẵn sau khi cài đặt bản phân phối Anaconda.
- Anaconda Navigator - Đây là giao diện đồ hoạ cung cấp công cụ thay thế để khởi chạy và quản lý gói trong Anaconda.
Hướng dẫn này dùng hệ điều hành Windows nhưng hoạt động với mọi hệ điều hành. Có thể có một vài thay đổi nhỏ trong lệnh Anaconda, nhưng quy trình tạo Môi trường ảo nhìn chung là như nhau. Bạn có thể mở "Terminal" trên Mac/Linux để đạt kết quả tương tự. Tuỳ theo yêu cầu của dự án, các hướng dẫn sau cung cấp chi tiết hơn trong việc tạo Môi trường ảo.
Quản lý môi trường
Anaconda Prompt
Nhấn biểu tượng "Windows" ở góc dưới màn hình để mở hộp "Tìm kiếm". Gõ "Anaconda Prompt" rồi nhấn "Enter" để mở. Dùng conda để kiểm tra Anaconda đã được cài thành công trong hệ thống; bạn sẽ thấy như sau. 
-
-
-
Tạo Môi trường ảo mới.
Lệnh sau nhận '-n' làm cờ, để tạo môi trường mới với tên 'env' và phiên bản Python cụ thể '3.7'.conda create -n env python = 3.7 -
Kích hoạt Môi trường ảo.
Lệnh dưới đây kích hoạt Môi trường ảo, làm thay đổi dấu nhắc nơi 'env' được hiển thị trong dấu ngoặc đơn.conda activate env
-
Cài đặt gói cần thiết.
Ví dụ, gói 'numpy' được cài đặt trong môi trường ảo 'env' cụ thể.conda install -n env numpy
HOẶC
Bạn cũng có thể dùng trình quản lý gói Python để cài 'numpy'.pip install numpy
-
Liệt kê tất cả các gói đã cài trong một Môi trường ảo.
Lệnh sau có thể liệt kê các gói thuộc Môi trường ảo.conda list
-
Liệt kê tất cả các Môi trường ảo đã tạo.
Tất cả môi trường đã tạo sẽ được liệt kê bằng lệnh sau.conda env list
-
Vô hiệu hoá Môi trường ảo.
Lệnh sau sẽ vô hiệu hoá môi trường hiện tại 'env' và chuyển về 'base'.conda deactivate -
Xoá Môi trường ảo.
-
-
Lệnh sau xoá Môi trường ảo 'myenv' cùng tất cả các gói của nó cùng lúc. conda env remove -n myenv
Như bạn thấy sau khi liệt kê với 'conda env list', chỉ còn hai Môi trường ảo được hiển thị. 
Anaconda Navigator
- Nhấn biểu tượng "Windows" ở góc dưới màn hình để mở hộp "Tìm kiếm". Gõ "Anaconda Navigator" rồi nhấn "Enter" để mở.
-
Chuyển đến "Environments", nơi hiển thị hai môi trường ảo. 'base' là mặc định, còn 'env' là Môi trường ảo đã tạo trước đó.

-
Nhấn "Create" và điền thông tin cần thiết như dưới đây để tạo Môi trường ảo mới tên "new-env."

- Chuyển sang "new-env" và chọn "All" để cài gói cần thiết, ví dụ trường hợp của chúng ta là numpy.

- Chọn 'new-env' ở thư mục chính để việc khởi chạy ứng dụng sẽ gắn với đúng môi trường ảo đó.

Kết luận
Chúc mừng bạn đã hoàn thành hướng dẫn!
Bạn đã nắm được về Môi trường ảo và cách tạo bằng Pipenv và Anaconda.
Bạn có thể tham khảo các khoá học sau do Anaconda xây dựng trên nền tảng DataCamp để học thêm:
Tài liệu tham khảo:
Cài đặt pipenv
