Thứ Hai, 5 tháng 1, 2015

[Python] Virtualenv.

Virtualenv là gì?

Virtualenv ( Virtual environments) là một tool có chức năng tạo ra các môi trường ảo, không chứa bất kì thứ gì chúng ta đã cài đặt và setup lên máy local trước đó. Đồng thời, cách thao tác trong môi trường ảo này không được áp dụng với máy local và các môi trường khác. Điều này cho phép chúng ta làm việc với các Python projects khác nhau trong các môi trường riêng biệt.

Ví dụ: Trên máy local chạy hai Python project, project thứ nhất sử dụng Django 1.x nhưng project thứ 2 sử dụng Django 4.x chứ không sử dụng được Django 4.x. Khi đó, bạn có thể chạy hai projects này trong hai virtualenv khác nhau, Cài đặt Django 1.x trong môi trường thứ nhất cho project 1, cài đặt Django 4.x trong môi trường thứ 2 cho project 2. Khi đó, cả hai project sẽ cùng chạy đúng yêu cầu.
Virtualenv thực hiện việc trên bằng cách tạo ra một thư mục mới, tất cả các thao tác khi xây dựng project của bạn như cài đặt các Python packages, viết code ... sẽ được lưu trữ hoàn toàn trong thư mục này.
Chú ý: Virtualenv chỉ được sử dụng cho các Python projects.

Cài đặt Virtualenv.
$ sudo pip install virtualenv
Tạo ra một môi trường ảo với Virtualenv.
$ cd your_project
$ virtualenv venv
Virtualenv venv sẽ tạo ra một thư mục trong current directory (thư mục hiện hành), thư mục này sẽ có cấu trúc như sau:
$ ls venv
bin include lib local
Trong thư mục này chứa tất cả các Python executable files và pip là tool mặc định được cài vào môi trường này. Tên của môi trường ảo có thể đặt tùy ý ( trong trường hợp này là venv).

Để bắt đầu sử dụng môi trường ảo này, chúng ta cần activate chúng:
$ source venv/bin/activate
Hoặc
$ . venv/bin/activate
Biểu tượng thể hiện môi trường ảo bắt đầu làm việc là tên môi trường đặt trong dấu ngoặc đơn:
thanhnt@Thanhnt:~/your_project$ . venv/bin/activate
(venv)thanhnt@Thanhnt:~/your_project$
Sau khi môi trường ảo được activate, tất cả các python packages được cài đặt với pip sẽ được đặt trong thư mục venv/lib/pythonx.x/site-packages/ (x.x là python version được sử dụng).
Ví dụ:
$ pip install flask
Chú ý rằng, không cần phải sử dụng quyền sudo, account thực thi là account đang được sử dụng, không phải account root.

Sau khi kết thúc phiên làm việc trong môi trường ảo, có thể deactivate nó:
$ deactivate
Để xóa đi môi trường ảo, bạn có thể xóa đi thư mục venv.
$ rm -rf venv

Virtualenvwrapper

Virtualenvwapper là một tool cung cấp các lệnh thực thi với virtualenv, nó đặt tất cả các virtualenv của bạn ở nơi bạn muốn, giúp bạn quản lý chúng một cách dễ dàng và linh động hơn.

Cài đặt.
$ pip install virtualenvwrapper
$ export WORKON_HOME=~/Envs
$ source /usr/local/bin/virtualenvwrapper.sh
Một số câu lệnh quản lý virtualenv thường được sử dụng.
Để tạo môi trường ảo:
$ mkvirtualenv venv
Một thư mục venv sẽ đươc tạo ra trong thư mục ~/Envs, là thư mục chứa các virtualenv, đã được khai báo ở trên.

Để kích hoạt môi trường ảo:
$ workon venv
Để deactive môi trường ảo.
$ deactivate
Để xóa môi trường ảo.
$ rmvirtualenv venv
                                                                            --- Thanks for reading ---

https://pypi.python.org/pypi/virtualenv

Không có nhận xét nào:

Đăng nhận xét