Giới thiệu Virtual Environment trong Python


  • administrators

    Virtual Environments là gì?

    Virtual Environment dịch ra tiếng Việt có nghĩa là môi trường ảo, Virtual Environment thiết lập một môi trường ảo, cho phép bạn thử nghiệm 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 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?

    Cài đặt Virtual Environment bạn dùng câu lệnh sau, nó có tác dụng với cả Windows và Linux nếu như bạn đã cài setuptools

    $ 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
    Trên Windows bạn dùng câu lệnh:

    $ [project_name]\scripts\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

    Tham khảo

    http://docs.python-guide.org/en/latest/dev/virtualenvs/


Hãy đăng nhập để trả lời
 

Có vẻ như bạn đã mất kết nối tới Cộng đồng Python Việt Nam, vui lòng đợi một lúc để chúng tôi thử kết nối lại.