python使用 requirements.txt 管理所需的包

使用 requirements.txt 管理所需的包

若要與其餘人共享項目、使用生成系統,或打算將項目複製到須要在其中還原環境的其餘任何位置,必須指定項目須要的外部包。 建議的方法是使用 requirements.txt 文件 (readthedocs.org),文件中包含安裝相關包所需版本的 pip 命令列表。 最多見的命令是 pip freeze > requirements.txt,它將環境的當前包列表記錄到 requirements.txt 中。html

從技術上講,任何文件名均可用於跟蹤要求(經過安裝包時使用 -r <full path to file>),但 Visual Studio 提供針對 requirements.txt 的特定支持:python

  • 若是已加載包含 requirements.txt 的項目,且想要安裝該文件列出的全部包,請展開「解決方案資源管理器」中的「Python 環境」節點,而後右鍵單擊環境節點並選擇「從 requirements.txt 安裝」:git

    從 requirements.txt 安裝

  • 若是環境中已安裝全部必需的包,可在「解決方案資源管理器」中右鍵單擊該環境,並選擇「生成 requirements.txt」以建立必需的文件。 若是文件已存在,會出現有關如何進行更新的提示:github

    更新 requirements.txt 選項

    • 「替換整個文件」將刪除存在的全部項、註釋和選項。
    • 「刷新現有條目」會檢測包的要求並更新版本說明符,匹配當前安裝的版本。
    • 「更新並添加項」將刷新找到的任何要求,並將全部其餘包添加到文件末尾。

由於 requirements.txt 文件的目的是凍結環境的要求,所以全部已安裝的包都採用精確的版本編寫。 使用精確的版本可確保輕鬆地在其餘計算機上重現環境。 即便採用一個版本範圍(做爲另外一個包的依賴項)或使用安裝程序而非 pip 安裝了包,也會包含這些包。ide

若是包不能經過 pip 安裝,且它出如今 requirements.txt 文件中,則整個安裝會失敗。 在這種狀況下,手動編輯文件以排除此包或使用 pip 的選項來指包的可安裝版本。 例如,你可能更喜歡使用 pip wheel 來編譯依賴項,並向 requirements.txt 添加 --find-links <path> 選項:visual-studio

output
C:\Project>pip wheel azure
Downloading/unpacking azure
    Running setup.py (path:C:\Project\env\build\azure\setup.py) egg_info for package azure

Building wheels for collected packages: azure
    Running setup.py bdist_wheel for azure
    Destination directory: c:\project\wheelhouse
Successfully built azure
Cleaning up...

C:\Project>type requirements.txt
--find-links wheelhouse
--no-index
azure==0.8.0

C:\Project>pip install -r requirements.txt -v
Downloading/unpacking azure==0.8.0 (from -r requirements.txt (line 3))
    Local files found: C:/Project/wheelhouse/azure-0.8.0-py3-none-any.whl
Installing collected packages: azure
Successfully installed azure
Cleaning up...
    Removing temporary dir C:\Project\env\build...

請參閱

反饋

咱們衷心期ui

相關文章
相關標籤/搜索