Giới thiệu Virtual Environment trong Python
Bài đăng này đã không được cập nhật trong 9 năm
Virtual Environments là gì và dùng để làm gì?
Virtual Environment dịch nôm na là môi trường ảo Cũng giống như máy ảo (Virtual Machine), Virtual Environment thiết lập một môi trường ảo, cho phép bạn nghịch ngợm lung tung với các packages của Python mà không làm ảnh hưởng đến những packages đã được cài đặt sẵn trên Python. Ví dụ bạn muốn thử nghiệm với Django 1.8 trong khi trên hệ thống đang cài đặt Django 1.4 LTS. Cũng giống như việc bạn dùng Virtual Machine để thử nghiệm phiên bản Chrome beta mới nhất mà không muốn làm ảnh hưởng đến phiên bản đang có trên máy.
Công cụ tạo ra Virtual Environment trên Python là virtualenv. virtualenv tạo ra một thư mục chứa tất cả những thứ cần thiết (executables, libraries).
Sử dụng Virtual Environment như thế nào? Trước hết để sử dụng được Virtual Environment thì bạn phải cài virtualenv cái đã.
$ pip install virtualenv
Tạo Virtual Environment
$ virtualenv [project_name]
virtualenv sẽ tạo ra một thư mục có tên là [project_name] chứa tất cả những gì cần thiết. Hãy thử xem nội dung của thư mục này:
- ./lib
- ./lib/python2.6
- ./lib/python2.6/site-packages
- ./lib/python2.6/distutils
- ./include
- ./bin
Nếu trên server có nhiều phiên bản Python (2.x, 3.x) bạn hoàn toàn có thể khởi tạo Virtual Environment với một phiên bản chỉ định:
virtualenv -p /usr/bin/python2.7 [project_name]
Hoặc bạn có thể tạo một Virtual Environment mà không có các packages đã được cài đặt sẵn (trong trường hợp bạn muốn làm mọi thứ từ đầu:
virtualenv --no-site-packages [project_name]
Sử dụng Virtual Environment
Khởi động Virtual Environment bằng câu lệnh:
$ source [project_name]/bin/activate
Tên của Virtual Environment sẽ xuất hiện ở phía trước command prompt, cho ta thấy Python đang sử dụng Virtual Environment. Từ đây tất cả những packages được cài đặt mới sẽ nằm trong thư mục [project_name]
Thoát khỏi Virtual Environment
Sử dụng câu lệnh
$ deactivate
Tìm hiểu về pyenv để thiết lập môi trường ảo nhanh chóng
Pyenv là cách để bạn thiết lập nhanh chóng giữa các môi trường ảo hoặc sử dụng các phiên bản python khác nhau. Nếu bạn từng sử dụng rbenv trong ruby thì pyenv cũng được fork từ rbenv.
Sau đây là các bước để cài đặt và sử dụng rbenv
Di chuyển đến vị trí muốn cài pyenv: thông thường $HOME/.pyenv
$ git clone https://github.com/yyuu/pyenv.git ~/.pyenv
Xác định biến môi trường Pyenv_root
$ echo 'export PYENV_ROOT="$HOME/.pyenv"' >> ~/.bash_profile
$ echo 'export PATH="$PYENV_ROOT/bin:$PATH"' >> ~/.bash_profile
Add pyenv init vào shell
$ echo 'eval "$(pyenv init -)"' >> ~/.bash_profile
Restart shell của bạn
$ exec $SHELL
Cài môi trường phiên bản python bạn muốn sử dụng.VD 2.7.8
$ pyenv install 2.7.8
Bạn có thể cài nhiều phiên bản python. Set 1 phiên bản mặc định
pyenv global 2.7.8
Hoặc cục bộ ở 1 thư mục
pyenv local 3.4.3
All rights reserved