Tôi nghĩ rằng các môi trường ảo của Python (được quản lý bằng venv hoặc pipenv) chỉ được thiết kế để cách ly một môi trường Python với một môi trường khác, chẳng hạn như đảm bảo rằng ứng dụng Python của bạn chạy với phiên bản gói chính xác mà nó yêu cầu và không xung đột với các yêu cầu của ứng dụng khác.
Điều này không liên quan gì đến các công cụ hệ thống không phải Python.
Vì vậy, nếu bạn muốn xây dựng môi trường thử nghiệm của riêng mình, với phiên bản git và postgreSQL, v.v., cách tốt nhất của bạn là tạo Máy ảo (VM) hoặc vùng chứa. Nếu bạn chưa quen với cả hai, có lẽ VM sẽ dễ hiểu và dễ sử dụng hơn (giống như có một PC chuyên dụng để thử nghiệm).
Điều đó nói rằng, trong các hệ thống Unix, việc quản lý nhiều phiên bản công cụ khác nhau (như git) trong cùng một máy là điều khả thi. Nếu bạn là nhà phát triển, bạn có thể muốn cài đặt chúng cục bộ (ví dụ: bên dưới ~/local/tool-version
) và tạo các tập lệnh shell thiết lập để thêm các công cụ đó vào CON ĐƯỜNG
, để trình bao sẽ tìm thấy chúng thay vì hệ thống.
Chẳng hạn, bạn có thể tạo một tệp như my-git.sh
#!/bin/bash
ĐƯỜNG=~/local/git-1.2.3/bin:$PATH
xuất ĐƯỜNG
Sau đó, khi bạn muốn sử dụng công cụ này, trong thiết bị đầu cuối của mình, bạn có thể nhập
$ nguồn my-git.sh
và sau đó, lần tới khi bạn gọi git trong trình bao của mình, nó sẽ sử dụng tệp nhị phân trong ~/local/git-1.2.3/bin
(miễn là có một cái ở đó) thay vì hệ thống.
Tuy nhiên, một thiết lập như thế này liên quan nhiều hơn và không cung cấp khả năng cách ly cạnh tranh (ví dụ: thư viện dùng chung vẫn là thư viện được cài đặt trong hệ thống của bạn)
Hi vọng điêu nay co ich.