Giới thiệu
Các nhà phát triển thường xử lý các dự án python trong đó họ phải sử dụng mô-đun và gói không phải là một phần của thư viện tiêu chuẩn python và họ chỉ cần nó cho ứng dụng cụ thể này. Hãy xem xét một trường hợp, trong đó bạn đã cài đặt phiên bản hiện tại của python (giả sử là python-3.6 của nó) nhưng dự án của bạn yêu cầu phiên bản python cụ thể - 2.7 cho ứng dụng cụ thể này, vì vậy nó không chỉ là các gói mới mà có thể yêu cầu đối với một phiên bản của ứng dụng đã được cài đặt của bạn. Khi đó các yêu cầu xung đột và việc cài đặt phiên bản 2.7 hoặc 3.6 sẽ khiến một ứng dụng không thể chạy.
Một giải pháp để giải quyết những trường hợp này là tạo một môi trường ảo cho dự án của bạn. Virutalenv là một loại công cụ cho phép chúng tôi tạo môi trường python cô lập. Virtualenv tạo một thư mục độc lập chứa tất cả các tệp thực thi được yêu cầu để sử dụng các gói mà một dự án Python sẽ yêu cầu trong dự án của nó.
Tại sao chúng tôi muốn nó?
Mục đích chính của việc sử dụng virtualenv (công cụ môi trường virutal) là để giải quyết các vấn đề về phụ thuộc, phiên bản (của gói python) và quyền gián tiếp.
Yêu cầu để cài đặt Môi trường ảo
Điều đầu tiên, bạn cần cài đặt python trong máy của mình (không nhất thiết phải là phiên bản mới nhất) và trình quản lý gói pip. Tuy nhiên, nếu bạn đang sử dụng phiên bản python 3.4 trở lên, pip được bao gồm theo mặc định (đi kèm dưới dạng thư viện tiêu chuẩn của python). Trong trường hợp bạn không có bất kỳ cái nào trong số chúng, bạn nên cài đặt nó trước.
Tạo môi trường ảo
Mở dấu nhắc lệnh của bạn (gõ cmd trong dòng lệnh chạy của bạn). Bây giờ, hãy chuyển đến đường dẫn thư mục (vị trí), nơi bạn muốn cài đặt môi trường ảo.
Trong trường hợp bạn không sử dụng python 3.x, thì bạn cần cài đặt công cụ virtualenv với pip.
Vỏ
pip install virtualenv
Trong trường hợp virtualenv đã được cài đặt (hoặc bạn đang sử dụng phiên bản python 3 hoặc bạn không biết virtualenv đã được cài đặt), khi chạy lệnh trên sẽ cho bạn thông báo như sau,
>pip install virtualenv Requirement already satisfied: virtualenv in c:\python\python361\lib\site-packages (15.1.0)
Bắt đầu bằng cách tạo một thư mục mới để làm việc với
Vỏ
mkdir python-virtual-environments && cd python-virtual-environments
Sau khi chạy lệnh trên, bạn đang ở bên trong thư mục mới tạo. Bây giờ, hãy tạo một môi trường ảo mới bên trong thư mục (thư mục bạn đã tạo ở trên).
Vỏ
# Đối với phiên bản python 2.x -
virtualenv myenv
# Đối với phiên bản python 3.x -
python -m venv myenv
Tập lệnh trên sẽ tạo một tên thư mục mới myenv với một vài thư mục và nhiều tệp, với cấu trúc thư mục tương tự như bên dưới -
├── Include │ ├── abstract.h │ ├── accu.h │ ├── asdl.h │ ├── ast.h │ ├── bitset.h ……… ├── Lib │ ├── __future__.py │ ├── __pycache__ │ ├── _bootlocale.py │ ├── _collections_abc.py │ ├── _dummy_thread.py │ ├── _weakrefset.py │ ├── abc.py │ ├── base64.py │ ├── bisect.py │ ├── codecs.py …… ├── pip-selfcheck.json ├── Scripts │ ├── activate │ ├── activate.bat │ ├── activate.ps1 │ ├── activate_this.py │ ├── deactivate.bat │ ├── easy_install.exe │ ├── easy_install-3.6.exe │ ├── pip.exe │ ├── pip3.6.exe │ ├── pip3.exe │ ├── python.exe │ ├── python36.dll │ ├── pythonw.exe │ └── wheel.exe
Ở đâu -
-
Bao gồm (thư mục):Tiêu đề C biên dịch gói python
-
Tập lệnh (thư mục):tệp tương tác với môi trường ảo
-
Lib (thư mục):Chứa bản sao phiên bản python và thư mục gói trang nơi mỗi phần phụ thuộc được cài đặt.
Làm cách nào để kích hoạt môi trường ảo?
Một trong những tệp thú vị là các script kích hoạt trong thư mục scripts. Các tập lệnh kích hoạt đã sử dụng các tệp thực thi python của môi trường và gói trang web của nó theo mặc định để thiết lập trình bao của bạn.
Tuy nhiên, để sử dụng các gói hoặc tài nguyên “myenv” trong môi trường ảo này một cách riêng biệt, bạn cần phải “kích hoạt” nó trước. Để kích hoạt môi trường ảo của bạn, hãy chạy lệnh như được hiển thị trong ảnh chụp màn hình.
Khi môi trường ảo đang hoạt động, chúng ta có thể cài đặt tất cả các gói liên quan đến dự án và các gói phụ thuộc khác biệt lập với thế giới bên ngoài. Ví dụ:nếu chúng tôi đang làm việc với một dự án khoa học dữ liệu, chúng tôi có thể cài đặt tất cả các gói bắt buộc và các gói phụ thuộc của chúng cùng một lúc một cách đơn giản, bằng cách gõ lệnh dưới đây như bên dưới -
(myenv) C:\Users\rajesh\python-virtual-environments>pip install numpy scipy matplotlib ipython jupyter pandas
Sau khi hoàn thành dự án của mình, chúng tôi có thể thoát ra khỏi môi trường ảo chỉ bằng cách tắt nó.
(myenv) C:\Users\rajesh\python-virtual-environments>deactivate C:\Users\rajesh\python-virtual-environments>
Bây giờ chúng ta quay lại trình bao lệnh windows (như trên).