HomeLập trìnhPythonCách thiết lập...

Cách thiết lập môi trường ảo trong Python – Và tại sao nó lại hữu ích


Khi phát triển phần mềm bằng Python, cách tiếp cận cơ bản là cài đặt Python trên máy của bạn, cài đặt tất cả các thư viện cần thiết của bạn qua thiết bị đầu cuối, viết tất cả mã của bạn vào một tệp .py hoặc sổ ghi chép và chạy chương trình Python của bạn trong thiết bị đầu cuối.

Đây là cách tiếp cận phổ biến đối với nhiều người mới bắt đầu và nhiều người chuyển từ làm việc với Python để phân tích dữ liệu.

Điều này hoạt động tốt cho các dự án kịch bản Python đơn giản. Nhưng trong các dự án phát triển phần mềm phức tạp, chẳng hạn như xây dựng thư viện Python, API hoặc bộ công cụ phát triển phần mềm, bạn thường sẽ làm việc với nhiều tệp, nhiều gói và phần phụ thuộc. Do đó, bạn sẽ cần cách ly môi trường phát triển Python của mình cho dự án cụ thể đó.

Hãy xem xét tình huống này: bạn đang làm việc trên ứng dụng A, sử dụng Python đã cài đặt hệ thống của bạn và bạn cài đặt góiX phiên bản 1.0 vào thư viện Python toàn cầu của mình. Sau đó, bạn chuyển sang dự án B trên máy cục bộ của mình và bạn cài đặt cùng góiX nhưng phiên bản 2.0, có một số thay đổi đột phá giữa phiên bản 1.0 và 2.0.

Khi bạn quay lại để chạy ứng dụng A của mình, bạn gặp đủ loại lỗi và ứng dụng của bạn không chạy. Đây là tình huống bạn có thể gặp phải khi xây dựng phần mềm bằng Python. Và để giải quyết vấn đề này, chúng ta có thể sử dụng môi trường ảo.

Hướng dẫn này sẽ bao gồm mọi thứ bạn cần biết về môi trường ảo và cách thiết lập môi trường ảo với Virtualenv.

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

Tài liệu chính thức của Python cho biết:

“Môi trường ảo là môi trường Python sao cho trình thông dịch Python, thư viện và tập lệnh được cài đặt trong đó được tách biệt với những thứ được cài đặt trong môi trường ảo khác và (theo mặc định) bất kỳ thư viện nào được cài đặt trong “hệ thống” Python, tức là thư viện được cài đặt được cài đặt như một phần của hệ điều hành của bạn”

Để giải quyết vấn đề này, khi bạn kích hoạt một môi trường ảo cho dự án của mình, dự án của bạn sẽ trở thành ứng dụng độc lập của chính nó, độc lập với hệ thống đã cài đặt Python và các mô-đun của nó.

Đọc thêm  Biến in Python – Cách in chuỗi và biến

Môi trường ảo mới của bạn có pip riêng để cài đặt thư viện, thư mục thư viện riêng, nơi các thư viện mới được thêm vào và trình thông dịch Python riêng cho phiên bản Python mà bạn đã sử dụng để kích hoạt môi trường.

Với môi trường mới này, ứng dụng của bạn trở nên độc lập và bạn nhận được một số lợi ích như:

  • Môi trường phát triển của bạn nằm trong dự án của bạn, trở nên biệt lập và không can thiệp vào hệ thống của bạn đã cài đặt Python hoặc các môi trường ảo khác
  • Bạn có thể tạo một môi trường ảo mới cho nhiều phiên bản Python
  • Bạn có thể tải xuống các gói vào dự án của mình mà không cần quyền quản trị viên
  • Bạn có thể dễ dàng đóng gói ứng dụng của mình và chia sẻ với các nhà phát triển khác để nhân rộng
  • Bạn có thể dễ dàng tạo danh sách các thành phần phụ thuộc và thành phần phụ thuộc trong một tệp cho dự án của mình, điều này giúp các nhà phát triển khác dễ dàng sao chép và cài đặt tất cả các thành phần phụ thuộc được sử dụng trong môi trường của bạn

Sử dụng môi trường ảo được khuyến nghị cho các dự án phát triển phần mềm thường phát triển từ một tập lệnh Python duy nhất và Python cung cấp nhiều cách để tạo và sử dụng môi trường ảo.

Trong các phần bên dưới, chúng tôi sẽ hướng dẫn cách thiết lập môi trường ảo của bạn, sử dụng venvcho phép bạn kiểm soát môi trường ở mức thấp hơn rất nhiều.

Một cách phổ biến khác để thiết lập môi trường ảo của bạn là sử dụng đường ốngđó là một cách tiếp cận cấp cao hơn.

Cách cài đặt môi trường ảo bằng Venv

Virtualenv là một công cụ để thiết lập môi trường Python của bạn. Kể từ Python 3.3, một tập hợp con của nó đã được tích hợp vào thư viện chuẩn trong mô-đun venv. Bạn có thể cài đặt venv cho máy chủ Python của mình bằng cách chạy lệnh này trong thiết bị đầu cuối của mình:

pip install virtualenv

Để sử dụng venv trong dự án của bạn, trong thiết bị đầu cuối của bạn, hãy tạo một thư mục dự án mới, cd vào thư mục dự án trong thiết bị đầu cuối của bạn và chạy lệnh sau:

 python<version> -m venv <virtual-environment-name>

Như vậy:

 mkdir projectA
 cd projectA
 python3.8 -m venv env

Khi bạn kiểm tra thư mục projectA mới, bạn sẽ nhận thấy rằng một thư mục mới có tên env đã được tạo ra. env là tên của môi trường ảo của chúng ta, nhưng nó có thể được đặt tên theo bất cứ thứ gì bạn muốn.

Đọc thêm  Tạo từ điển bằng Python – Python Dict Methods

Nếu chúng tôi kiểm tra nội dung của env một chút, trên máy Mac, bạn sẽ thấy thư mục bin. Bạn cũng sẽ thấy các tập lệnh thường được sử dụng để kiểm soát môi trường ảo của mình, chẳng hạn như thư viện kích hoạt và pip để cài đặt cũng như trình thông dịch Python cho phiên bản Python mà bạn đã cài đặt, v.v. (Thư mục này sẽ có tên là Scripts trên windows).

Thư mục lib sẽ chứa danh sách các thư viện mà bạn đã cài đặt. Nếu bạn xem nó, bạn sẽ thấy một danh sách các thư viện mặc định đi kèm với môi trường ảo.

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

Bây giờ bạn đã tạo môi trường ảo, bạn sẽ cần kích hoạt nó trước khi có thể sử dụng nó trong dự án của mình. Trên máy Mac, để kích hoạt môi trường ảo của bạn, hãy chạy mã bên dưới:

source env/bin/activate

Điều này sẽ kích hoạt môi trường ảo của bạn. Ngay lập tức, bạn sẽ nhận thấy rằng đường dẫn đầu cuối của bạn bao gồm env, biểu thị một môi trường ảo đã được kích hoạt.

Lưu ý rằng để kích hoạt môi trường ảo của bạn trên Góa phụ, bạn sẽ cần chạy mã sau bên dưới (Xem liên kết này để hiểu đầy đủ sự khác biệt giữa các nền tảng):

 env/Scripts/activate.bat //In CMD
 env/Scripts/Activate.ps1 //In Powershel

Môi trường ảo có hoạt động không?

Chúng tôi đã kích hoạt môi trường ảo của mình, bây giờ làm cách nào để xác nhận rằng dự án của chúng tôi trên thực tế được tách biệt khỏi máy chủ Python của chúng tôi? Chúng ta có thể làm một vài điều.

Trước tiên, chúng tôi kiểm tra danh sách các gói được cài đặt trong môi trường ảo của mình bằng cách chạy mã bên dưới trong môi trường ảo đã kích hoạt. Bạn sẽ chỉ nhận thấy hai gói – pip và setuptools, là các gói cơ sở mặc định với môi trường ảo mới

pip list

Tiếp theo, bạn có thể chạy cùng mã ở trên trong một thiết bị đầu cuối mới mà bạn chưa kích hoạt môi trường ảo. Bạn sẽ nhận thấy nhiều thư viện hơn trong máy chủ Python mà bạn có thể đã cài đặt trước đây. Các thư viện này không phải là một phần của môi trường ảo Python của bạn cho đến khi bạn cài đặt chúng.

Đọc thêm  cách tạo mô-đun và lớp với Python

Cách cài đặt thư viện trong môi trường ảo

Để cài đặt các thư viện mới, bạn có thể dễ dàng cài đặt các thư viện. Môi trường ảo sẽ sử dụng pip của chính nó, vì vậy bạn không cần sử dụng pip3.

Sau khi cài đặt các thư viện cần thiết, bạn có thể xem tất cả các thư viện đã cài đặt bằng cách sử dụng danh sách pip hoặc bạn có thể tạo tệp văn bản liệt kê tất cả các phụ thuộc dự án của mình bằng cách chạy mã bên dưới:

pip freeze > requirements.txt

Bạn có thể đặt tên cho tệp tests.txt này bất cứ điều gì bạn muốn.

Tệp yêu cầu

Tại sao tệp yêu cầu lại quan trọng đối với dự án của bạn? Hãy xem xét rằng bạn đóng gói dự án của mình trong một tệp zip (không có thư mục env) và bạn chia sẻ với người bạn là nhà phát triển của mình.

Để tạo lại môi trường phát triển của bạn, bạn của bạn sẽ chỉ cần làm theo các bước trên để kích hoạt một môi trường ảo mới.

Thay vì phải cài đặt từng phần phụ thuộc một, họ chỉ cần chạy mã bên dưới để cài đặt tất cả các phần phụ thuộc của bạn trong bản sao dự án của chính họ:

 ~ pip install -r requirements.txt

Lưu ý rằng thông thường không nên chia sẻ thư mục env của bạn và thư mục này sẽ dễ dàng được sao chép trong bất kỳ môi trường mới nào.

Thông thường, thư mục env của bạn sẽ được bao gồm trong tệp .gitignore (khi sử dụng các nền tảng kiểm soát phiên bản như GitHub) để đảm bảo rằng tệp môi trường không được đẩy vào kho dự án.

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

Để hủy kích hoạt môi trường ảo của bạn, chỉ cần chạy đoạn mã sau trong thiết bị đầu cuối:

 ~ deactivate

Phần kết luận

Môi trường ảo Python cung cấp cho bạn khả năng tách biệt các dự án phát triển Python của bạn khỏi Python đã cài đặt hệ thống của bạn và các môi trường Python khác. Điều này cung cấp cho bạn toàn quyền kiểm soát dự án của bạn và làm cho nó dễ dàng tái sản xuất.

Khi phát triển các ứng dụng thường phát triển từ tập lệnh .py đơn giản hoặc sổ ghi chép Jupyter, bạn nên sử dụng môi trường ảo – và bây giờ bạn đã biết cách thiết lập và bắt đầu sử dụng môi trường ảo.



Zik.vn – Biên dịch & Biên soạn Lại

spot_img

Create a website from scratch

Just drag and drop elements in a page to get started with Newspaper Theme.

Buy Now ⟶

Bài viết liên quang

DMCA.com Protection Status