Tin tức và phân tích của tất cả các thiết bị di động

Những bước đầu tiên với môi trường ảo trong Python

Trong bài viết này, bạn sẽ tìm hiểu cách bắt đầu với môi trường ảo trong Python, cả trên hệ điều hành Windowscũng như Linux.

Khi bạn bắt đầu làm việc trên nhiều dự án trong môi trường phát triển cục bộ, bạn thường gặp phải các vấn đề về tính phụ thuộc. Tạo môi trường ảo cho từng dự án có thể giúp bạn quản lý tốt hơn các yếu tố phụ thuộc và yêu cầu của dự án.

Để tận dụng môi trường ảo trong Python, hãy tìm hiểu cách tạo và kích hoạt môi trường ảo. 👩🏽‍💻

Môi trường ảo là gì?

Môi trường ảo là môi trường biệt lập và khép kín có chứa mã dự án của bạn và các thành phần phụ thuộc.

Nhưng tại sao lại sử dụng môi trường ảo?

Chà, môi trường ảo cho phép bạn cài đặt và sử dụng các phiên bản khác nhau của cùng một thư viện cho các dự án khác nhau. Sử dụng môi trường ảo cũng đảm bảo không có thay đổi đáng kể khi hai hoặc nhiều dự án sử dụng các phiên bản khác nhau. Hãy hiểu nó chi tiết hơn.

Cài đặt các gói trong python

Thư viện chuẩn Python đi kèm với một số mô-đun hữu ích để kiểm tra đơn vị, tương tác với hệ điều hành, làm việc với ngày và giờ, v.v.

Tuy nhiên, khi làm việc với các dự án Python, bạn sẽ thường phải cài đặt các gói khác do cộng đồng Python phát triển. Điều này đặc biệt đúng đối với các ứng dụng như quét web để thu thập dữ liệu, học máy và ứng dụng web.

Bạn có thể sử dụng conda hoặc pip để cài đặt và quản lý các gói này.

Mỗi dự án yêu cầu một bộ gói cụ thể phải được cài đặt. Tuy nhiên, khi tất cả các gói được cài đặt trong môi trường phát triển trên máy cục bộ, tất cả các dự án sẽ chia sẻ các gói được cài đặt trên toàn cầu.

Vậy tại sao đây là một vấn đề?

Chà, bạn có thể có N gói trong môi trường phát triển của mình. Tuy nhiên, dự án bạn hiện đang thực hiện có thể chỉ yêu cầu 3 của họ. Khi tất cả các dự án của bạn chia sẻ các cài đặt chung, rất khó để xác định dự án nào yêu cầu gói nào đã cài đặt – các phụ thuộc liên quan đến từng dự án.

Có một hạn chế khác của phương pháp này. Giả sử bạn có một dự án Django 2.2 trong thư viện dự án của bạn. Bạn quyết định bắt đầu làm việc với một dự án sử dụng Django 4. Vì vậy, bạn cài đặt phiên bản Django mới nhất trong cùng một môi trường phát triển.

Điều gì xảy ra với cài đặt hiện có?

Nó được gỡ bỏ và thay thế bằng phiên bản Django đã cài đặt. Một số tính năng có thể không được dùng nữa trong các bản phát hành ổn định mới hơn. Các dự án Django trước đây của bạn có thể không hoạt động như mong đợi.

Để tóm tắt cuộc thảo luận của chúng ta cho đến nay: việc quản lý phụ thuộc trở nên khó khăn khi tất cả các gói được cài đặt trong một môi trường chung vì các dự án yêu cầu bộ thư viện riêng để hoạt động.

Môi trường ảo hoạt động như thế nào

Cho đến nay, chúng ta đã thấy những thách thức của việc cài đặt các gói trong môi trường phát triển toàn cầu (cài đặt trên toàn hệ thống). Điều này thúc đẩy chúng tôi hiểu cách môi trường ảo giải quyết hạn chế này.

Khi tạo và kích hoạt môi trường ảo cho dự án Python, bạn chỉ có thể cài đặt những gói cần thiết cho dự án hiện tại.

Quay lại ví dụ về dự án Django, bạn có thể chạy cả dự án Django trên môi trường ảo 2.2cũng như Django 4 – không có xung đột. Điều này là do cài đặt Django không còn là cài đặt trên toàn hệ thống mà bị giới hạn trong môi trường ảo của các dự án tương ứng.

Tóm lại: môi trường ảo là môi trường biệt lập có chứa cả phần phụ thuộc mã và dự án.

Ưu điểm của môi trường ảo

Bây giờ bạn đã biết môi trường ảo hoạt động như thế nào trong Python, hãy liệt kê những lợi ích của việc sử dụng chúng:

  • Môi trường ảo cung cấp một môi trường phát triển biệt lập trên cơ sở từng dự án, cho phép chúng tôi chỉ cài đặt các gói theo yêu cầu của một dự án cụ thể.
  • Vì môi trường dự án ảo vừa độc lập vừa tách biệt nên các dự án khác nhau có thể sử dụng các phiên bản khác nhau của cùng một thư viện, tùy thuộc vào yêu cầu. Trong môi trường ảo, bạn không phải lo lắng về quyền hệ thống để cài đặt thư viện và thiết lập môi trường phát triển của mình.
  • Sau khi các gói được cài đặt trong môi trường ảo, bạn có thể nắm bắt các phụ thuộc của dự án trong tệp tests. txt. Điều này cho phép các nhà phát triển khác sao chép quá trình phát triển và môi trường của dự án và cài đặt các gói cần thiết bằng một lệnh duy nhất.

Cho đến giờ, bạn đã biết cách thức hoạt động của môi trường ảo và lợi ích của việc sử dụng chúng. Chúng ta hãy xem xét một số công cụ phổ biến mà bạn có thể sử dụng để tạo và quản lý môi trường ảo trong Python.

#1. Môi trường ảo

Virtualenv là một trong những công cụ được sử dụng rộng rãi để tạo và quản lý môi trường ảo cho các dự án Python. Một tập hợp con của chức năng virtualenv có sẵn trong gói venv. Tuy nhiên, gói virtualenv nhanh hơn và có thể mở rộng hơn so với venv.

#2. đường ống

Với pipnev, bạn có cả chức năng virtualenv và khả năng quản lý gói pip. Sử dụng quản lý pipfiles để quản lý các phụ thuộc của dự án trong môi trường ảo với.

Bạn có thể thử pipenv trực tiếp từ trình duyệt của mình trong Sân chơi Pipenv này.

#3. chung cư

Nếu bạn sử dụng bản phân phối Anaconda Python để phát triển, bạn có thể sử dụng conda để quản lý gói và tạo môi trường ảo.

Để tìm hiểu thêm, hãy xem hướng dẫn toàn diện này để quản lý môi trường với conda.

#4. Thơ

Thơ là một công cụ quản lý gói cho phép bạn quản lý các phụ thuộc trên tất cả các dự án Python. Bạn phải cài đặt Python để bắt đầu sử dụng Thơ 3.7 hoặc sau đó.

#5. Venv

Như đã đề cập, venv cung cấp một tập hợp con chức năng của virtualenv, nhưng có lợi thế là được tích hợp vào thư viện python tiêu chuẩn, bắt đầu bằng python 3.3.

Nó có sẵn với bản cài đặt Python của bạn – và không yêu cầu cài đặt bất kỳ gói bên ngoài nào. Chúng ta sẽ sử dụng nó trong hướng dẫn này để tạo và làm việc với môi trường ảo.

Làm cách nào để tạo môi trường python ảo trong Ubuntu?

💬 Để làm theo phần còn lại của hướng dẫn này, bạn phải cài đặt Python cục bộ 3. Hãy chắc chắn rằng bạn đang sử dụng python 3.5 hoặc một phiên bản mới hơn.

Phần này mô tả các bước để tạo và kích hoạt môi trường ảo trên máy Ubuntu Linux của bạn. Các bước tương tự cũng có thể được thực hiện trên các bản phân phối Linux khác.

Để quản lý dễ dàng hơn, hãy tạo một thư mục dự án và cd vào đó; Chúng tôi sẽ tạo một venv trong thư mục này.

$ mkdir my_project
$ cd my_project

Cú pháp chung để tạo môi trường ảo cho dự án Python của bạn là python3 -m venv . Khi bạn chạy lệnh này, một môi trường ảo có tên my_env sẽ được tạo trong thư mục làm việc hiện tại của bạn:

$ python3 -m venv my_env

Làm cách nào để kích hoạt và cài đặt các gói trong môi trường ảo?

Sau khi tạo môi trường ảo, bạn có thể kích hoạt nó và cài đặt các gói cần thiết trong đó. Để kích hoạt môi trường ảo, bạn có thể chạy lệnh sau:

$ source my_env/bin/activate

Khi môi trường ảo được kích hoạt, bạn có thể chạy danh sách pip để nhận danh sách các gói đã cài đặt:

$ pip list

Cho đến nay, chúng tôi chưa cài đặt bất kỳ gói nào, vì vậy bạn sẽ có thể thấy các công cụ thiết lập và pip—được cài đặt theo mặc định—trong mỗi môi trường ảo mà bạn đã tạo.

Cài đặt pip trong môi trường ảo cho phép bạn cài đặt các gói cần thiết cho một dự án cụ thể; do đó bạn có một môi trường phát triển độc lập cho từng dự án.

Bây giờ bạn đã kích hoạt môi trường ảo của mình, bạn có thể cài đặt các gói dành riêng cho dự án trong đó bằng cách sử dụng pip. Ví dụ: hãy cài đặt Yêu cầu Python, một trong những gói Python được tải xuống nhiều nhất cung cấp một số tính năng hữu ích để yêu cầu HTTP hoạt động với API web.

$ pip install requests

Khi bạn cài đặt thư viện yêu cầu, bạn sẽ thấy rằng thư viện yêu cầu đã được cài đặt với tất cả các gói mà nó yêu cầu.

$ pip list

Bạn có thể sử dụng lệnh đóng băng pip và chuyển hướng đầu ra sang tệp tests.txt như được hiển thị:

$ pip freeze > requirements.txt

Nếu bạn kiểm tra nội dung của thư mục dự án hiện tại, bạn sẽ thấy tệp tests. txt.

$ ls
# my_env requirements.txt

Bạn có thể hủy kích hoạt môi trường ảo sau khi hoàn thành dự án bằng cách chạy lệnh sau:

$ deactivate

Cách tạo môi trường python ảo trên hệ thống của bạn Windows

Nói chung, môi trường Linux được ưa thích hơn để phát triển. Nếu bạn đang sử dụng máy tính chạy Windowsbạn có thể cân nhắc sử dụng một hệ thống con Windows cho Linux (WSL) để thiết lập môi trường thiết bị đầu cuối Ubuntu để phát triển cục bộ.

Nếu bạn đang sử dụng máy tính chạy Windowsbạn có thể sử dụng chương trình Windows PowerShell hoặc Command Prompt và tạo môi trường ảo bằng lệnh sau:

> python -m venv <path-to-venv>

Cách kích hoạt môi trường ảo

Kích hoạt môi trường ảo trên máy tính với hệ thống Windows nó khác nhau tùy thuộc vào việc bạn đang làm việc trong dòng lệnh hay trong chương trình Windows PowerShell.

Nếu bạn đang ở dấu nhắc lệnh, hãy chạy lệnh sau để kích hoạt môi trường ảo:

> <path-to-venv>Scriptsactivate.bat

Ngoài ra, nếu bạn đang sử dụng Windows PowerShell, chạy lệnh này sẽ kích hoạt môi trường ảo:

> <path-to-venv>ScriptsActivate.ps1

Bạn có thể cài đặt tất cả các gói cần thiết trong môi trường ảo.

Để hủy kích hoạt môi trường ảo, bạn có thể chạy lệnh hủy kích hoạt từ dòng lệnh hoặc từ bên trong chương trình Windows PowerShell.

Đăng kí

Trong bài viết này, chúng tôi đã thảo luận về những hạn chế của việc cài đặt trên toàn hệ thống và cách chúng gây khó khăn cho việc quản lý các phần phụ thuộc trong các dự án Python. Môi trường ảo trong Python cho phép quản lý tốt hơn các phần phụ thuộc đồng thời cung cấp môi trường phát triển biệt lập cho các dự án riêng lẻ.

Trong số các công cụ thường được sử dụng để tạo và quản lý môi trường ảo trong Python, bạn đã học cách sử dụng venv – được tích hợp trong thư viện chuẩn Python để tạo và kích hoạt môi trường ảo.

Trong môi trường ảo chuyên dụng của dự án, có thể cài đặt các phiên bản thư viện dành riêng cho dự án. Sau đó, các yêu cầu này có thể được ghi lại trong tệp tests.txt cho phép các nhà phát triển khác dễ dàng sao chép môi trường dự án.

Khi bạn bắt đầu một dự án Python khác, hãy nhớ sử dụng môi trường ảo để quản lý các phần phụ thuộc tốt hơn. Chúc mừng mã hóa!🎉

Mục lục