Môi trường ảo có thể được mô tả như các thư mục cài đặt bị cô lập. Sự cô lập này cho phép bạn bản địa hóa việc cài đặt các phần phụ thuộc của dự án mà không buộc bạn phải cài đặt chúng trên toàn hệ thống.
Hãy tưởng tượng bạn có hai ứng dụng, App1 và App2. Cả hai đều sử dụng gói Pak, nhưng yêu cầu các phiên bản khác nhau. Nếu bạn cài đặt phiên bản Pak 2.3 cho App1, bạn sẽ không thể chạy App2 vì nó yêu cầu phiên bản 3.1.
Đây là nơi môi trường ảo có ích.
Những lợi ích:
- Bạn có thể có nhiều môi trường, với nhiều bộ gói mà không có xung đột giữa chúng. Bằng cách này, các yêu cầu của các dự án khác nhau có thể được đáp ứng cùng một lúc.
- Bạn có thể dễ dàng phát hành dự án của mình với các mô-đun phụ thuộc của chính nó.
Đây là hai cách bạn có thể tạo môi trường ảo Python.
Virtualenv
virtualenv
là một công cụ được sử dụng để tạo các môi trường Python bị cô lập. Nó tạo một thư mục chứa tất cả các tệp thực thi cần thiết để sử dụng các gói mà một dự án Python sẽ cần.
Bạn có thể cài đặt nó với pip
:
pip install virtualenv
Xác minh cài đặt bằng lệnh sau:
virtualenv --version
Tạo một môi trường
Để tạo một môi trường ảo, hãy sử dụng:
virtualenv --no-site-packages my-env
Điều này tạo một thư mục trong thư mục hiện tại với tên của môi trường (my-env/
). Thư mục này chứa các thư mục để cài đặt các mô-đun và tệp thực thi Python.
Bạn cũng có thể chỉ định phiên bản Python mà bạn muốn làm việc. Chỉ cần sử dụng đối số --python=/path/to/python/version
. Ví dụ, python2.7
:
virtualenv --python=/usr/bin/python2.7 my-env
Liệt kê môi trường
Bạn có thể liệt kê các môi trường có sẵn với:
lsvirtualenv
Kích hoạt Môi trường
Trước khi bạn có thể bắt đầu sử dụng môi trường, bạn cần kích hoạt nó:
source my-env/bin/activate
Điều này đảm bảo rằng chỉ các gói dưới my-env/
được sử dụng.
Bạn sẽ nhận thấy rằng tên của môi trường được hiển thị ở bên trái của lời nhắc. Bằng cách này, bạn có thể thấy đâu là môi trường đang hoạt động.
Cài đặt gói
Bạn có thể cài đặt từng gói một hoặc bằng cách đặt requirements.txt
tập tin cho dự án của bạn.
pip install some-package
pip install -r requirements.txt
Nếu bạn muốn tạo một requirements.txt
tệp từ các gói đã được cài đặt, hãy chạy lệnh sau:
pip freeze > requirements.txt
Tệp sẽ chứa danh sách tất cả các gói được cài đặt trong môi trường hiện tại và các phiên bản tương ứng của chúng. Điều này sẽ giúp bạn phát hành dự án của mình với các mô-đun phụ thuộc của riêng nó.
Vô hiệu hóa một môi trường
Nếu bạn đã làm việc xong với môi trường ảo, bạn có thể hủy kích hoạt nó bằng:
deactivate
Điều này đưa bạn trở lại trình thông dịch Python mặc định của hệ thống với tất cả các thư viện đã cài đặt của nó.
Xóa Môi trường
Chỉ cần xóa thư mục môi trường.
chung cư
Conda
là một gói, phần phụ thuộc và quản lý môi trường cho nhiều ngôn ngữ, bao gồm cả Python.
Để cài đặt Conda, hãy làm theo các hướng dẫn sau.
Tạo một môi trường
Để tạo một môi trường ảo, hãy sử dụng:
conda create --name my-env
Conda sẽ tạo thư mục tương ứng bên trong thư mục cài đặt Conda.
Bạn cũng có thể chỉ định phiên bản Python nào bạn muốn làm việc với:
conda create --name my-env python=3.6
Liệt kê môi trường
Bạn có thể liệt kê tất cả các môi trường có sẵn với:
conda info --envs
Kích hoạt Môi trường
Trước khi bạn có thể bắt đầu sử dụng môi trường, bạn cần kích hoạt nó:
source activate my-env
Cài đặt gói
giống như với virtualenv
.
Vô hiệu hóa một môi trường
Nếu bạn đã làm việc xong với môi trường ảo, bạn có thể hủy kích hoạt nó bằng:
source deactivate
Xóa môi trường
Nếu bạn muốn xóa một môi trường khỏi Conda, hãy sử dụng:
conda remove --name my-env