Python

Python Virtual Environment

Xin chào, trong bài viết này chúng ta sẽ tìm hiểu về Virtual Environment của Python.


HIỂU VỀ VIRTUAL ENVIRONMENT

Virtual Environment cho phép chúng ta cách ly các project viết trong môi trường Python, nhằm tránh xung đột giữa các package mà các project này sử dụng.

Để tạo Virtual Enviroment trong môi trường Python, chúng ta sử dụng bộ công cụ virtualenvvirtualenvwrapper.

+ Cài đặt virtualenv và virtualenvwrapper:
$ sudo pip3 install virtualenv virtualenvwrapper

+ Mở file ./profile và thêm các dòng sau:
$ sudo nano ./profile

# virtualenv and virtualenvwrapper
export WORKON_HOME=$HOME/.virtualenvs
source /usr/local/bin/virtualenvwrapper.sh

+ Khởi động lại file ./profile
$ source ./profile

+ Tạo Virtual Environment với tên cv:
$ mkvirtualenv cv -p python3
Trong đó: -p được dùng để chỉ định version của Python được sử dụng trong môi trường ảo. Mặc định, phiên bản Python đã được sử dụng để cài đặt virtualenv tool sẽ được sử dụng.

+ Liệt kê hoặc truy cập vào môi trường ảo cv:
$ workon cv
Kể từ sau câu lệnh trên thì phía trước các dòng command-line sẽ xuất hiện (cv).

+ Thoát khởi môi trường ảo:
$ deactivate

+ Xóa môi trường ảo cv:
$ rmvirtualenv cv


SUMMARY

Môi trường ảo sẽ rất hữu dụng khi chúng ta cần làm việc trên nhiều project với các bộ thư viện khác nhau, tạo ra sự độc lập giữa các project. Ngoài ra môi trường ảo còn là nơi để chúng ta thử nghiệm, vọc vạch mà không sợ ảnh hưởng đến toàn bộ môi trường Python. Cảm ơn các bạn đã theo dõi bài viết.

Thân ái và quyết thắng.

Reference:
[1] Python Virtual Environments: A Primer.
[2] virtualenv tool.
[3] virtualenvwrapper tool.

Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out /  Change )

Google+ photo

You are commenting using your Google+ account. Log Out /  Change )

Twitter picture

You are commenting using your Twitter account. Log Out /  Change )

Facebook photo

You are commenting using your Facebook account. Log Out /  Change )

Connecting to %s