Computer >> Máy Tính >  >> Lập trình >> Python

Tạo môi trường ảo bằng Python

Có thể cần một gói Python của một phiên bản cụ thể trong khi phát triển các ứng dụng dựa trên Python. Tuy nhiên, nếu phiên bản của cùng một gói này được cài đặt để sử dụng trên toàn hệ thống, thì nó có thể xung đột với các yêu cầu của ứng dụng khác. Do đó, mong muốn có các môi trường cạnh nhau cho từng mục đích để giải quyết các vấn đề về khả năng tương thích.

Môi trường ảo cho phép các gói Python được cài đặt ở một vị trí biệt lập cho một ứng dụng cụ thể, thay vì được cài đặt trên toàn cầu.

Mô-đun venv trong thư viện chuẩn của Python được sử dụng để tạo môi trường ảo. Môi trường ảo là một thư mục trong hệ thống tệp có bản sao của trình thông dịch Python và các tập lệnh khác. Lệnh sau tạo một môi trường ảo trong thư mục được đặt tên.

C:\python37>python -m venv e:\testenv

Bạn sẽ tìm thấy một thư mục mới được tạo theo chỉ định. Ở trên có thể tùy chọn sử dụng các công tắc sau

- system-site-pack
Cung cấp cho môi trường ảo quyền truy cập vào các gói site hệ thống dir.
--symlinks
Cố gắng sử dụng liên kết sym thay vì sao chép
--copies
Cố gắng sử dụng các bản sao thay vì các liên kết tượng trưng
--clear
Xóa nội dung của thư mục môi trường nếu nó tồn tại
- nâng cấp
Nâng cấp thư mục môi trường để sử dụng phiên bản Python này
--without-pip
Bỏ qua cài đặt hoặc nâng cấp pip trong môi trường ảo (pip được khởi động theo mặc định)

Thư mục 'script' trong ENV_DIR (trong trường hợp này là testenv) chứa bản sao cục bộ của trình thông dịch Python, trình cài đặt pip và các tập lệnh để kích hoạt và hủy kích hoạt môi trường.

activate
activate.bat
activate.ps1
deactivate.bat
easy_install-3.7.exe
easy_install.exe
pip.exe
pip3.7.exe
pip3.exe
python.exe
pythonw.exe

Kích hoạt môi trường ảo

Để khởi động Python trong môi trường cô lập, trước tiên nó phải được kích hoạt. Vì mục đích này, 'active.bat' phải được gọi từ dòng lệnh.

E:\testenv>scripts\activate

(testenv) E:\testenv>python
Python 3.7.2 (tags/v3.7.2:9a3ffc0492, Dec 23 2018, 23:09:28) [MSC v.1916 64 bit (AMD64)] on win32
Type "help", "copyright", "credits" or "license" for more information.
>>>

Tên của môi trường ảo xuất hiện trong dấu ngoặc đơn bên trái dấu nhắc DOS. Bây giờ bạn có thể Python trong môi trường ảo.

Nếu bất kỳ gói nào được cài đặt bằng tiện ích pip3 trong thư mục script của môi trường ảo, gói này sẽ được cài đặt cục bộ và sẽ không khả dụng để sử dụng trên toàn hệ thống.

Hủy kích hoạt môi trường ảo

Để trở lại môi trường bình thường, môi trường ảo phải được tắt bằng cách sử dụng 'deactivate.bat' trong thư mục script.

>>> quit()

(testenv) E:\testenv>scripts\deactivate
E:\testenv>

Đối với các phiên bản Python trước 3.3, hãy sử dụng virtualenv phải được cài đặt riêng.

Mô-đun venv đã định nghĩa lớp EnvironmentBuilder để tạo môi trường ảo theo chương trình.