Môi trường ảo Python: cách ly venv và phụ thuộc

Làm chủ môi trường ảo Python. Tìm hiểu cách tạo, kích hoạt và quản lý các phần phụ thuộc bằng venv và pip một cách an toàn.

Thử trong Trình chỉnh sửa

Tổng quan

Khi làm việc trên nhiều dự án Python, chắc chắn bạn sẽ gặp phải xung đột về sự phụ thuộc. Dự án A có thể yêu cầuDjangophiên bản 3.2, trong khi Dự án B yêu cầuDjangophiên bản 5.0. Nếu bạn cài đặt các gói này trên toàn cầu, chúng sẽ ghi đè lên nhau, làm hỏng một trong các ứng dụng của bạn. Môi trường ảo giải quyết vấn đề quan trọng này bằng cách tạo các thư mục riêng biệt, dành riêng cho dự án có chứa các bản cài đặt thư viện và nhị phân Python của riêng chúng.

Python cung cấp hỗ trợ tích hợp cho môi trường ảo thông qua mô-đun `venv`. Khi bạn tạo môi trường ảo, một thư mục mới sẽ được tạo chứa bản sao của trình thông dịch Python, cùng với các tập lệnh để điều chỉnh môi trường shell của bạn. Khi được kích hoạt, mọi gói bạn cài đặt bằng `pip` đều được chuyển trực tiếp đến thư mục riêng biệt này, giúp quá trình cài đặt Python toàn cầu của bạn luôn sạch sẽ và không bị ảnh hưởng bởi các thư viện dành riêng cho dự án.

Quản lý môi trường ảo bao gồm ba lệnh cốt lõi. Đầu tiên, `python -m venv venv` tạo thư mục môi trường ảo có tên `venv`. Tiếp theo, bạn kích hoạt môi trường (`source venv/bin/activate` trên macOS/Linux hoặc `venv\Scripts\activate` trên Windows). Cuối cùng, bạn đóng băng các phần phụ thuộc của mình bằng cách sử dụng `pip đóng băng > require.txt`, tạo một danh sách mà các nhà phát triển khác có thể sử dụng để tạo lại môi trường chính xác. Hiểu môi trường ảo là phương pháp hay nhất không thể thương lượng đối với kỹ thuật Python hiện đại.

Đầu ra mã & thực thi

Một mô hình minh họa các lệnh để tạo, kích hoạt và xuất ra các yêu cầu về gói.

# This script prints the commands used to configure a virtual environment
commands = [
    "python -m venv my_env       # Create environment",
    "source my_env/bin/activate  # Activate environment (Mac/Linux)",
    "pip install requests        # Install isolated package",
    "pip freeze > requirements.txt # Export dependency catalog"
]

print("--- Virtual Environment Lifecycle ---")
for index, cmd in enumerate(commands, 1):
    print(f"Step {index}: {cmd}")
Đầu ra thiết bị đầu cuối
--- Virtual Environment Lifecycle ---
Step 1: python -m venv my_env       # Create environment
Step 2: source my_env/bin/activate  # Activate environment (Mac/Linux)
Step 3: pip install requests        # Install isolated package
Step 4: pip freeze > requirements.txt # Export dependency catalog

Triển khai từng bước

  • Cô lập các dự án không gian làm việc để ngăn chặn sự chồng chéo phụ thuộc
  • Định cấu hình môi trường có thể dự đoán được cho vùng chứa Docker
  • Vận chuyển các cơ sở mã có thể tái tạo bằng danh sách require.txt

Câu hỏi thường gặp

Tôi nên gitignore những thư mục nào trong dự án Python?

Bạn phải luôn thêm thư mục môi trường ảo (thường là 'venv/' hoặc '.venv/') vào tệp .gitignore của mình. Không bao giờ kiểm tra các phần phụ thuộc của thư viện bên ngoài vào git.

Làm cách nào để hủy kích hoạt môi trường ảo?

Chỉ cần gõ lệnh 'hủy kích hoạt' trong cửa sổ terminal của bạn và shell của bạn sẽ quay trở lại môi trường Python toàn cầu.

Chủ đề liên quan

Tài nguyên Python được đề xuất

Mở rộng kiến thức của bạn với các hướng dẫn tương tác, bảng ghi chú và so sánh mã có liên quan.