簡體   English   中英

是否有必要在 python 的虛擬環境中安裝請求庫?

[英]is it necessary to install Requests library at Virtual Environment in python?

我是 python 新手,使用虛擬環境等。我在 C 驅動器中安裝了 python,添加了 PATH 變量並從那里開始工作。 出於學習目的,我決定只在我的項目目錄中安裝包。 因此,我按照文檔在我的項目文件夾中創建了虛擬環境。 我已經在我的 Windows 機器上以這種方式創建了它:

python -m venv my-env

之后,我激活了它:

my-env\Scripts\activate.bat

之后,我安裝了 Requests 庫(如文檔中所示):

pip install requests

但是,我的問題是:為什么需要安裝 Requests 庫? 如果我將來在該新項目目錄中創建新項目、新虛擬環境,是否需要再次安裝它?

我安裝了一些額外的包,我想創建requirements.txt。 所以,我寫道:

pip freeze > requirements.txt

現在,除了我為項目本身所需的庫之外,來自 Requests 庫的每個包也都在那個 requirements.txt 文件中。 因此,如果我與其他用戶共享我的項目,則該用戶將在通過 requirements.txt 安裝時從 Requests 庫中獲取包。 沒關系嗎?

抱歉問了很多問題。 基本上,我認為所有問題都是相關的和上下文相關的。

為什么需要安裝 Requests 庫?

無需安裝此庫即可讓虛擬環境正常工作。

如果我將來在該新項目目錄中創建新項目、新虛擬環境,我是否需要再次安裝它。

虛擬環境的想法是:您在為該項目創建的受控環境中工作。 如果您將在另一個項目上工作,在它自己的虛擬環境中,您將不得不再次安裝它。 這一點也不錯:在每個項目中,您可能需要使用同一個庫的不同版本,或者您甚至可能想要/需要刪除一個項目,並且一個項目中發生的任何事情都不會影響另一個項目,這很好。

除了我為項目本身所需的庫之外,請求庫中的每個包也都在那個 requirements.txt 文件中。

是的,freeze 命令會列出所有已安裝的軟件包。 這不僅包括您通過pip install ... ,還包括這些軟件包所需的依賴項。 這就是為什么有些人建議手動編寫需求文件的原因:這樣更清楚直接需要哪些外部資源,而不是每個子依賴項,正如您可能已經看到的那樣,理解起來有點笨拙。

如果我與其他用戶共享我的項目,則該用戶將在通過 requirements.txt 安裝時從 Requests 庫中獲取包。 沒關系嗎?

從某種意義上說,這些軟件包將以任何一種方式安裝都是可以的。 它們被明確列出,但如果沒有,它們也會被下載和安裝。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM