有沒有辦法配置easy_install避免安裝失敗時再次下載文件?Easy_install緩存下載文件
回答
pip(http://pypi.python.org/pypi/pip/)是easy_install工具的替代品,可以做到這一點。
只需運行easy_install pip
並將環境變量PIP_DOWNLOAD_CACHE
設置爲您希望pip存儲文件的路徑。 請注意,緩存不適用於從源代碼庫(如svn/git/hg/bzr)簽出的依賴項。
然後使用pip install
代替easy_install
下面是使用PIP我的解決方案,甚至管理二進制安裝包,並使用兩個,Linux和Windows。並且根據要求,它將限制從PyPi下載到最低版本,並且作爲額外的獎勵,在Linux上,它允許加速重複安裝通常需要編譯幾分之一秒的包。
安裝需要幾個步驟,但我的事情,這是值得做的。
PIP創建配置文件
PIP創建配置文件(在Linux上:〜/將該.pip/pip.conf,在Windows%HOME%\ PIP \ pip.ini)
我的人有此內容:
[global]
download-cache = /home/javl/.pip/cache
find-links = /home/javl/.pip/packages
[install]
use-wheel = yes
[wheel]
wheel-dir = /home/javl/.pip/packages
填充cache
DIR - 自動進入
的cache
目錄將得到緩存的版本從PyPI將每次下載的數據,p的ip嘗試從pypi獲取一些包。它很容易得到它(不需要特別小心),但請注意,從點的角度來看,這些只是從PyPi下載的兌現數據,而不是包,所以如果您使用選項--no-index
,它將無法工作。
pip install --download
填充packages
DIR
的packages
dir是地方把真正的包文件。例如。我最喜歡的包plac
,我會做:
$點子安裝 - 表格下載〜/將該.pip /包PLAC
和PLAC包文件將在該目錄appeare。您甚至可以使用-r requirements.txt
文件一次對多個包執行此操作。
這些包甚至使用$ pip install --no-index <something>
。
防止在Linux上重複編譯相同的程序包
例如, lxml
包需要編譯,下載和編譯可能需要45秒到幾分鐘。使用車輪格式,你可以在這裏省下很多。
安裝wheel
工具,如果你沒有它尚未:
$ pip install wheel
爲lxml
(假設造輪子,你已成功安裝在過去lxml
- 它需要系統中的某些庫要安裝):
$ pip wheel lxml
這越過下載,編譯,但最終導致LXML whl
文件中packgages
目錄之中。
此後
$ pip install lxml
或甚至更快
$ pip install --no-index lxml
將採取秒的小數部分,因爲它使用車輪格式化包。
從窗口設置EXE包準備輪包
(注:這甚至可以在Linux機器準備,沒有編譯,只有一些分裝從exe文件到whl
。)
下載軟件包一封來自PyPI的EXE格式,如:
$ wget的https://pypi.python.org/packages/2.7/l/lxml/lxml-3.2.3.win32-py2.7.exe#md5=14ab978b7f0a3382719b65a1ca938d33 $ DIR LXML-3.2.3.win32-py2.7.exe
將其轉換爲
whl
$輪轉換LXML-3.2.3.win32-py2.7.exe $ DIR LXML-3.2.3.win32-py2.7.exe LXML-3.2。 3-cp27-NONE-win32.whl
測試:
$ PIP安裝LXML
或
$ pip install --no-index lxml
應該很快。
請注意,wheel convert
可以對卵形格式的包進行完全相同的轉換。
讓easy_install
和setup.py install
重用你packages
目錄
easy_install
和$ python setup.py install
似乎並沒有提供下載緩存,但允許使用我們的包在我們packages
目錄。
要爲這兩個工具做到這一點,編輯配置文件:
在Linux上:$HOME/.pydistutils.cfg
在Windows上:%HOME%\pydistutils.cfg
在我來說,我在這裏:
[easy_install]
find_links = /home/javl/.pip/packages
這個配置甚至可以幫助pip install
調用的一些情況,當點試圖在拖延一個包,聲明依賴於其他的。由於它將此任務委託給setup.py
調用,但沒有.pydistutils.cfg
配置,它將從PyPi下載文件。
不幸的是,在這種情況下輪盤格式不被支持(據我所知)。
- 1. AFNetworking緩存下載文件
- 2. 文件下載和緩存
- 3. easy_install下載目錄
- 4. Firefox下載已緩存的文件
- 5. 下載Firefox瀏覽器緩存文件
- 6. 瀏覽器緩存可下載文件
- 7. 客戶端緩存下載文件
- 8. Android緩慢文件下載
- 9. 如何將下載的文件保存在緩存中android
- 10. HTML5緩存每次下載
- 11. setuptools下載緩存路徑
- 12. android下載/緩存圖像
- 13. 在iPhone緩存上下載?
- 14. 卸載Easy_Install
- 15. Alamofire:下載到文件高速緩存的大型文件的文件夾
- 16. 輸出緩衝php文件下載
- 17. 下載文件「另存爲」
- 18. 下載和存儲文件
- 19. HTML離線應用程序緩存,清單下載的文件
- 20. Jar文件在下載到緩存後只能打開一次
- 21. 使用PHP下載文件,跟蹤,授權,緩存,MIME類型
- 22. 阻止小程序緩存下載的文件
- 23. Squid如何配置爲緩存所有下載的文件?
- 24. HTML緩存清單下載所有文件
- 25. 排除博客下載公共文件夾緩存
- 26. 緩存文件,直到下一頁加載
- 27. Java - 如何下載文件的非緩存版本?
- 28. 正在下載源文件緩存modernizr.load.1.5.4.js Grunt Build Stall
- 29. 可能繞過緩存並下載/打開文件到RAM?
- 30. 防止網絡瀏覽器緩存文件被下載
需要注意的一點是`pip不能安裝二進制文件(_。egg files_)`。這在Windows平臺上至關重要。 – 2011-05-10 09:09:11