如何防止PIP重新下載以前下載的包?我正在測試matplotlib的安裝,這是一個11MB的軟件包,依賴於幾個特定於發行版的軟件包。每次運行pip install matplotlib
時,它都會重新下載matplotlib。我該如何阻止?如何緩存已下載的PIP包
回答
您可以使用特定環境變量PIP_DOWNLOAD_CACHE並使其指向您的包將被存儲的目錄。如果要再次安裝它們,它們將從該目錄中取出。
似乎還有一個PIP pip --download-cache
的附加選項,它應該做類似的事情,但我從來沒有嘗試過。對於你的榜樣,以避免重新下載每次matplotlib
,你會做以下幾點:
pip install --download-cache /path/to/pip/cache matplotlib
是否回答你的問題?
你可以
# download and extract package to build path
pip install --no-install matplotlib
# the build path could be found by
pip install --help|grep Unpack\ packages\ into -A 2
# then rm pip-delete-this-directory.txt inside the build path
# this prevent pip from removing package from the build directory after install
# you could check the content of the file
rm build/pip-delete-this-directory.txt
# from now on you could install matplotlib quickly
# this uses single build directory
# and can speed up compiling by caching intermediate objects.
pip install --no-download matplotlib
此外,您可以手動下載包
pip install -d dir_for_packages matplotlib
然後由聯合國焦油和python setup install
以後安裝它。
的pip install --download-cache
作品以類似的方式瓦特/額外的檢查:它首先搜索來自網絡的目標包的最新版本或指定的版本,如果搜索結果,並有由download-cache
,在指定的目錄緩存包緩存的包將被用來代替下載。例如,
pip install --download-cache . pymongo
將包下載到pymongo當前目錄:
http%3A%2F%2Fpypi.python.org%2Fpackages%2Fsource%2Fp%2Fpymongo%2Fpymongo-2.1.1.tar.gz
http%3A%2F%2Fpypi.python.org%2Fpackages%2Fsource%2Fp%2Fpymongo%2Fpymongo-2.1.1.tar.gz.content-type
對於新的畫中畫版本:
較新的版本匹默認情況下,現在高速緩存下載。看到這個文檔:
https://pip.pypa.io/en/stable/reference/pip_install/#caching
對於老匹版本:
創建一個名爲~/.pip/pip.conf
一個配置文件,並添加以下內容:
[global]
download_cache = ~/.cache/pip
在一個命令:
printf '[global]\ndownload_cache = ~/.cache/pip\n' >> ~/.pip/pip.conf
酷,簡單,不需要記住添加參數每一次。我浪費了很多GB的重新下載狗屎。謝謝。 – erm3nda 2016-01-04 08:58:38
謝謝,如果您使用pip3下載需求並獲得黃色文本警告,您可以mkdir〜/ .cache/pip然後警告將消失。 – 2017-09-25 09:58:20
- 1. 如何在CircleCI上緩存'pip install'包?
- 2. 使用下載緩存將PIP包安裝到Virtualenv
- 3. Firefox下載已緩存的文件
- 4. pip沒有下載任何軟件包
- 5. 如何保存pip包
- 6. 如何緩存docker build的軟件包管理器下載?
- 7. 如何緩存下載的圖像
- 8. 如何下載不同操作系統的pip軟件包?
- 9. 如何刪除下載緩存?
- 10. JavaFX緩存http下載如何?
- 11. ImageLoader - 如果圖像已被緩存,則不要下載圖像
- 12. 撤消禁用pip緩存
- 13. 如何包含已緩存到HTML的呈現的PHP文件
- 14. Easy_install緩存下載文件
- 15. HTML5緩存每次下載
- 16. AFNetworking緩存下載文件
- 17. setuptools下載緩存路徑
- 18. android下載/緩存圖像
- 19. 文件下載和緩存
- 20. 在iPhone緩存上下載?
- 21. 如何將下載的文件保存在緩存中android
- 22. PIP卸載顯示軟件包已卸載,但實際上並非如此
- 23. 如何查找已安裝pip程序包的資產
- 24. HTML5離線緩存javascript已下載但未刷新
- 25. 如何使用Python的pip下載並保留壓縮包的文件?
- 26. 使用PIP下載openpyxl
- 27. PIP找不到下載
- 28. 爲什麼PIP尋找下載緩存,如果已經安裝了相同的確切軟件包,請執行--upgrade
- 29. 如何在TSPM中禁用自定義PIP的緩存?
- 30. maven,如何跳過下載的工件,如果已經下載
我不確定PIP是否也這樣做,但是用' easy_install',如果你在本地目錄下有一個'.tar'(或者大概是zip?)文件,它會首先嚐試使用那個文件。 – 2012-04-26 16:21:17
請看[pip-accel](https://pypi.python.org/pypi/pip-accel)。這是一個新的更好的解決方案。 – qris 2014-10-02 13:47:49
截至點8「 - 下載緩存」已被丟棄,點應默認使用緩存,可用'--no-cache-dir'關閉 – Ski 2016-01-31 18:06:02