Môi trường ảo python tốt nhất là gì?

, bạn có nguy cơ xung đột phụ thuộc, vô tổ chức và các tập lệnh đang hoạt động đột ngột bị lỗi

Có một số lựa chọn để thực hiện khi quản lý môi trường cho các dự án Python của bạn, bài viết này sẽ giải thích các phương pháp hay nhất để làm theo và các lỗi phổ biến cần tránh khi làm như vậy

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

Theo mặc định, pip cài đặt các gói trên toàn cầu với trình thông dịch Python, thư viện chuẩn và các gói được cài đặt sẵn. Về mặt chức năng, điều này có nghĩa là tất cả các dự án trên một hệ thống sẽ sử dụng cùng một thư mục để lưu trữ và truy xuất các gói

Môi trường ảo thường được ưa thích hơn do khả năng tách biệt các dự án. Môi trường toàn cầu được sử dụng tốt nhất khi sử dụng Python để quản lý máy chủ, chạy tập lệnh Python nhanh hoặc tự động hóa máy chủ. Trong khi đó, môi trường ảo phù hợp hơn để quản lý gói và các dự án Python phức tạp.  

Môi trường ảo

Trong thế giới Python,  là một thư mục chứa các gói và các phần phụ thuộc khác mà dự án Python cần. Trái ngược với môi trường toàn cầu, môi trường ảo là không gian mã hóa biệt lập nơi các gói Python có thể được cài đặt, nâng cấp và sử dụng. Khi bạn cài đặt hoặc nâng cấp một gói, các phiên bản cũ vẫn được cài đặt trong thư mục của bạn, vì vậy các môi trường ảo khác nhau có thể sử dụng các phiên bản gói khác nhau. Bạn cũng có thể chỉ định phiên bản cụ thể của Python mà bạn muốn cho dự án của mình. Bạn có thể tự do lựa chọn giữa việc bắt đầu Python 2. 7, Trăn 3. 6, Trăn 3. 7, Trăn Trăn 4. 4. 0, v.v.

Tại sao cần môi trường ảo?

Môi trường ảo ngăn chặn sự phụ thuộc, phiên bản và xung đột quyền bằng cách tách biệt các dự án Python. Môi trường toàn cầu có nguy cơ gây ra xung đột phụ thuộc có thể ngăn ứng dụng của bạn xây dựng do các gói phụ thuộc vào các phiên bản cụ thể của các gói khác

Hãy xem xét hai dự án Python trong môi trường toàn cầu yêu cầu NumPy 1. 10 và NumPy 1. 20 tương ứng. Python không thể phân biệt giữa các phiên bản trong thư mục “gói trang web”. Vì vậy, cả hai phiên bản 1. 10 và phiên bản 1. 20 sẽ nằm trong cùng một thư mục có cùng tên

Môi trường toàn cầu thường trở nên lộn xộn với hàng chục gói khác nhau được cài đặt cho các dự án khác nhau. Không có cách nào tuyệt vời để tổ chức hoặc quản lý những thứ này trong môi trường toàn cầu, gây khó khăn cho việc kiểm tra kỹ lưỡng ứng dụng của bạn dựa trên một bộ gói cụ thể với các phiên bản đã biết

Các phương pháp hay nhất để quản lý môi trường Python

Sử dụng môi trường ảo

Phải luôn sử dụng môi trường ảo trừ khi Python đang được sử dụng để quản lý máy chủ hoặc chạy các tập lệnh đơn giản. Có nhiều trình quản lý gói Python và môi trường ảo khác nhau để lựa chọn đi kèm với nhiều tính năng khác nhau. Điều quan trọng là phải xem xét cẩn thận môi trường ảo tốt nhất cho dự án Python của bạn

Virtualenv được cho là môi trường ảo Python thân thiện với người mới bắt đầu và phổ biến nhất. Nó được cài đặt sẵn Python 2 dưới dạng virtualenv và Python 3 dưới dạng venv. Tiện ích mở rộng virtualenvwrapper phổ biến bổ sung các tính năng bổ sung như hoàn thành tab và một lệnh duy nhất để chuyển đổi giữa các môi trường

Pipenv là một công cụ quản lý môi trường ảo và gói nhằm mục đích tích hợp chức năng của Pip và virtualenv vào một công cụ duy nhất. Đó là một công cụ tuyệt vời với các tính năng hữu ích nhưng nó phức tạp hơn để tìm hiểu so với virtualenv

Thơ là một công cụ Python giàu tính năng để quản lý phụ thuộc dự án. Nó nhanh hơn hầu hết các công cụ môi trường ảo và đi kèm với CLI mạnh mẽ để quản lý các dự án Python

Conda là một hệ thống quản lý môi trường và gói đa mục đích hỗ trợ cả Python và các ngôn ngữ khác như Ruby, Scala, R và C/C++. Nó được sử dụng để tạo, lưu, tải và chuyển đổi giữa các môi trường trong máy cục bộ của bạn. Conda được các nhà khoa học dữ liệu ưa chuộng và được cài đặt sẵn trong cả anaconda và miniconda

Yêu cầu sử dụng. tệp txt

Cách tốt nhất để làm cho công việc của bạn có thể tái sản xuất và giữ cho môi trường của bạn nhất quán là đưa a vào thư mục gốc của dự án của bạn. một yêu cầu. txt chứa danh sách tất cả các gói có trong một dự án. Yêu cầu sử dụng. txt có thể được thực hiện trong hai bước đơn giản

  1. Sử dụng đóng băng pip để xuất các gói đã cài đặt phù hợp với tệp yêu cầu.
    C:\> py -m pip freeze
    docutils==0.11
    Jinja2==2.7.2
    MarkupSafe==0.19
    Pygments==1.6
    Sphinx==1.2.2
  2. Tạo yêu cầu. txt và sau đó cài đặt nó vào môi trường khác.
    ______6
    env2\bin\python -m pip install -r requirements.txt

Yêu cầu. txt giúp đảm bảo tính nhất quán trong quá trình cài đặt, triển khai và nhà phát triển. Họ cũng giúp quản lý các phụ thuộc Python

Sử dụng môi trường ảo riêng cho từng dự án

Lý tưởng nhất là bạn nên có một môi trường ảo mới cho mọi dự án dựa trên Python mà bạn thực hiện. Mục đích chính của việc này là để giữ cho các phần phụ thuộc của mọi dự án được tách biệt khỏi cả hệ thống và lẫn nhau

Nếu bạn có nhiều dự án có các yêu cầu gần giống nhau, có vẻ như bạn nên tạo một môi trường ảo duy nhất mà cả hai dự án có thể chia sẻ. Vấn đề với điều này là một trong các dự án có thể đột nhiên có các yêu cầu phá vỡ một dự án khác. Toàn bộ quan điểm của môi trường ảo là cách ly từng dự án khỏi các dự án khác và những điều kỳ quặc của chúng

Dung lượng ổ đĩa và sự tiện lợi được tiết kiệm là không đáng kể và đơn giản là không đáng. Hơn nữa, sử dụng các yêu cầu. txt giúp dễ dàng thiết lập môi trường ảo cho dự án và cài đặt những gì nó cần bằng một vài lệnh

X Đừng quên kích hoạt môi trường ảo Python của bạn

Trước khi một môi trường ảo có thể được sử dụng trong một phiên shell cụ thể, nó phải được kích hoạt. Quên kích hoạt môi trường ảo hoặc kích hoạt sai môi trường là một lỗi quá phổ biến

Sau khi được kích hoạt, môi trường ảo được coi là phiên bản Python mặc định cho đến khi nó bị hủy kích hoạt bằng cách chạy lệnh hủy kích hoạt. Hãy nhớ rằng việc kích hoạt môi trường ảo là dành cho một phiên cụ thể chứ không phải cho toàn bộ hệ thống

X Không sử dụng >= để tạo phiên bản gói trong môi trường ảo Python

Khi sử dụng các yêu cầu. txt, bạn nên chỉ định các gói có. Ví dụ: sử dụng mypackage==3. 2, không phải gói của tôi>=3. 2

Nếu bạn không sử dụng các phiên bản gói cụ thể, điều đó sẽ ngăn cản một trong những lợi ích chính của việc sử dụng môi trường ảo. bản dựng có thể dự đoán. Nếu bạn sử dụng >= thay vì ==, không có gì đảm bảo rằng bạn hoặc người khác sẽ có cùng một phiên bản khi môi trường cần được tạo lại

Nuôi dưỡng môi trường Python

Môi trường Python của bạn sẽ trao quyền cho năng suất của bạn chứ không cản trở nó. Thực hiện theo các phương pháp hay nhất được trình bày trong bài viết này để tránh những cạm bẫy của Python và xây dựng một môi trường Python hiệu quả. Xây dựng một môi trường Python giống như ở nhà là một tài sản tuyệt vời nhưng còn rất nhiều điều phải hoàn thành khi trở thành một chuyên gia Python

Tôi có nên cài đặt Python trong môi trường ảo không?

Chúng tôi luôn khuyên bạn nên sử dụng môi trường ảo khi phát triển các ứng dụng Python . Để tạo một môi trường ảo, hãy chuyển đến thư mục dự án của bạn và chạy venv. Nếu bạn đang sử dụng Python 2, hãy thay thế venv bằng virtualenv trong các lệnh bên dưới.

Tôi nên sử dụng venv hay virtualenv?

Virtualenv theo truyền thống là thư viện được sử dụng để tạo môi trường ảo cho python. Tuy nhiên, bắt đầu python 3. 3, mô-đun venv đã được thêm vào thư viện tiêu chuẩn python và có thể được sử dụng làm thay thế cho virtualenv. Nếu phiên bản cũ hơn của python đang được sử dụng, thì virtualenv là cách tốt nhất .

Môi trường ảo Python nên ở đâu?

Việc tạo môi trường ảo được thực hiện bằng cách thực hiện lệnh venv. .
python3 -m venv/đường dẫn/đến/mới/ảo/môi trường
c. \>c. \Python35\python -m venv c. \path\to\myenv
c. \>python -m venv c. \path\to\myenv

Tôi nên sử dụng virtualenv hay Pipenv?

Nếu bạn đang làm việc với các dự án cá nhân của mình và không cài đặt pipenv, tôi khuyên bạn nên cài đặt pyenv-virtualenv . Nếu bạn đang làm việc theo nhóm hoặc với nhiều hơn một hệ thống, tôi khuyên bạn nên cài đặt pipenv mà tôi sẽ trình bày tiếp theo.

Chủ Đề