Điểm:1

pipenv là nơi biệt lập để chạy chương trình

lá cờ cz

Tôi mới sử dụng hệ điều hành Linux và hiện đang học sử dụng Ubuntu. Mình đã đến phần các bạn build môi trường ảo. Tôi đọc rằng tôi nên sử dụng pipenv thay vì venv.

Mục tiêu lý tưởng của tôi khi sử dụng môi trường ảo là tạo ra một nơi biệt lập đáp ứng mọi nhu cầu của tôi để chạy chương trình (dễ dàng xóa sau khi tôi không cần chương trình nữa), nhưng điều tôi học được là sử dụng pipenv có sự khác biệt giữa các gói python có thể được cài đặt bằng pipenv và các gói khác như postgreSQL hoặc git không thể cài đặt được bằng pipenv.

Theo như tôi biết thì các gói như postgreSQL và git sẽ được cài đặt trên toàn cầu (toàn hệ thống) và các gói python sẽ được cài đặt trong môi trường pipenv. Vì mục tiêu lý tưởng của tôi là tạo ra một nơi biệt lập với tất cả các gói để chạy một số chương trình nhất định, có cách nào để thực hiện công việc này không?

Raffa avatar
lá cờ jp
Vui lòng xem [điều này](https://askubuntu.com/questions/1347748/how-to-install-latest-version-of-python-3-9-5-on-ubuntu-20-04) và [điều này] (https://askubuntu.com/questions/1321421/how-to-remove-all-traces-of-python-from-ubuntu)
Điểm:1
lá cờ cn

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.

Đăng câu trả lời

Hầu hết mọi người không hiểu rằng việc đặt nhiều câu hỏi sẽ mở ra cơ hội học hỏi và cải thiện mối quan hệ giữa các cá nhân. Ví dụ, trong các nghiên cứu của Alison, mặc dù mọi người có thể nhớ chính xác có bao nhiêu câu hỏi đã được đặt ra trong các cuộc trò chuyện của họ, nhưng họ không trực giác nhận ra mối liên hệ giữa câu hỏi và sự yêu thích. Qua bốn nghiên cứu, trong đó những người tham gia tự tham gia vào các cuộc trò chuyện hoặc đọc bản ghi lại các cuộc trò chuyện của người khác, mọi người có xu hướng không nhận ra rằng việc đặt câu hỏi sẽ ảnh hưởng—hoặc đã ảnh hưởng—mức độ thân thiện giữa những người đối thoại.