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 thông qua thiết bị đầu cuối, viết tất cả mã của bạn trong một. 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, 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ể đó
Xem xét kịch bản này. bạn đang làm việc trên ứng dụng A, sử dụng hệ thống của bạn đã cài đặt Python và bạn cài đặt gói X phiên bản 1. 0 vào thư viện Python toàn cầu của bạn. 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 một 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 với Virtualenv
Môi trường ảo là gì?
Tài liệu chính thức của Python nói
"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] mọi thư viện được cài đặt trong “hệ thống” Python, tôi. e. , cái được cài đặt như một phần của hệ điều hành của bạn"
Để phá vỡ điều 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ó
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 thêm thư viện mới 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 venv, cho 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 pipenv, đây là 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 bạn
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 -m venv
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. 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
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ư kích hoạt và pip để cài đặt các thư viện và 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 thiết bị đầ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 đoạn 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?
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 Python máy chủ của mình 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á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 yêu cầu này. txt bất cứ thứ 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?
Để tạo lại môi trường phát triển của bạn, bạn của bạn chỉ cần làm theo các bước trên để kích hoạ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 riêng 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à nó 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 đưa vào một. 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 bị đẩ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
________số 8Sự 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 hệ thống của bạn đã cài đặt Python 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ừ một ứng dụng đơn giản. py 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ột môi trường ảo.
QUẢNG CÁO
QUẢNG CÁO
QUẢNG CÁO
QUẢNG CÁO
QUẢNG CÁO
QUẢNG CÁO
QUẢNG CÁO
Tôi là nhà phát triển giải pháp máy học và phần mềm toàn diện, có kinh nghiệm về các giải pháp kiến trúc trong môi trường hướng sự kiện và dữ liệu phức tạp, cho các trường hợp sử dụng cụ thể của miền
Nếu bạn đọc đến đây, hãy tweet cho tác giả để cho họ thấy bạn quan tâm. Tweet một lời cảm ơn
Học cách viết mã miễn phí. Chương trình giảng dạy mã nguồn mở của freeCodeCamp đã giúp hơn 40.000 người có được việc làm với tư cách là nhà phát triển. Bắt đầu