Czy istnieje sposób na skonfigurowanie easy_install, aby uniknąć konieczności ponownego pobierania plików, gdy instalacja się nie powiedzie?Łatwe do zainstalowania cache pobrane pliki
Odpowiedz
pip (http://pypi.python.org/pypi/pip/) jest zamiennikiem zamiennym dla narzędzia easy_install i może to zrobić.
Po prostu uruchom easy_install pip
i ustaw zmienną środowiskową PIP_DOWNLOAD_CACHE
na ścieżkę do pip, aby zapisać pliki. Należy pamiętać, że pamięć podręczna nie będzie działała z zależnościami, które są pobierane z repozytorium kodu źródłowego (jak svn/git/hg/bzr).
Następnie użyj pip install
zamiast easy_install
Oto moje rozwiązanie używając pip, zarządzanie nawet instalacji pakietów binarnych i użyteczny zarówno na Linux i Windows. Zgodnie z życzeniem, ograniczy pobieranie z PyPi do mininum, a jako dodatkowy bonus na Linuksie pozwala przyspieszyć powtarzaną instalację pakietów, które zazwyczaj wymagają kompilacji na ułamek sekundy.
Konfiguracja zajmuje kilka kroków, ale ja myślę, że warto to zrobić.
Tworzenie pip plik konfiguracyjny
Tworzenie pip plik konfiguracyjny (w systemie Linux: ~/.pip/pip.conf, Windows% HOME% \ pip \ pip.ini)
Mój jeden ma tę zawartość :
[global]
download-cache = /home/javl/.pip/cache
find-links = /home/javl/.pip/packages
[install]
use-wheel = yes
[wheel]
wheel-dir = /home/javl/.pip/packages
Zapełnianie cache
dir - przechodzi automatycznie
cache
reż dostanie buforowane wersji danych pobranych z PyPI za każdym razem, p ip próbuje pobrać pakiet z Pypi. Łatwo jest go tam dostać (nie wymaga to szczególnej troski), ale pamiętaj, że z punktu widzenia pip, są to tylko pobierane dane pobierane z PyPi, a nie pakiety, więc w przypadku korzystania z opcji --no-index
, to nie zadziała.
pip install --download
zapełnić packages
reż
packages
dir to miejsce umieścić pliki pakietu do rzeczywistego. Na przykład. dla mojego ulubionego pakietu plac
, chciałbym zrobić:
$ pip zainstalować --download ~/.pip/pakiety Plac
i plac pliku pakietu będzie poja- w tym katalogu. Możesz nawet użyć pliku -r requirements.txt
, aby zrobić to dla wielu pakietów naraz.
Pakiety te są używane nawet z $ pip install --no-index <something>
.
Zapobieganie powtórnemu kompilowaniu tego samego pakietu w systemie Linux
E.g. Pakiet lxml
wymaga komplikacji, a pobieranie i kompilacja może trwać od 45 sekund do minut. Korzystając z formatu koła, możesz zaoszczędzić wiele.
Install wheel
narzędzie, jeśli nie ma go jeszcze:
$ pip install wheel
Tworzenie kółka dla lxml
(zakładając, udało ci się zainstalować lxml
w przeszłości - to wymaga pewnych bibliotekami w systemie mają być zainstalowane):
$ pip wheel lxml
Ten podchodzi do pobrania, kompilacji, ale ostatecznie skutkuje lxml whl
pliku będąc w packgages
reż.
Odtąd
$ pip install lxml
lub nawet szybciej
$ pip install --no-index lxml
zajmie ułamek sekundy, jak to stosuje koła sformatowany pakiet.
Przygotować pakiet koła od konfiguracji Okno pakietu exe
(uwaga: może to być przygotowanym nawet na komputerze z systemem Linux, nie ma kompilacji tylko niektóre przepakowywanie z pliku exe do whl
.)
pobrać formularz exe pakietu od PyPI, np
$ 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
przekształcić go
whl
$ nawrócony koło 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
testowania go:
$ pip zainstalować lxml
lub
$ pip install --no-index lxml
będzie bardzo szybki.
Pamiętaj, że wheel convert
może dokonać dokładnie tej samej konwersji dla pakietów sformatowanych w jajach.
Niech easy_install
i setup.py install
ponownie użyć packages
reż
easy_install
$ python setup.py install
i nie wydają się oferować pobierania cache, ale pozwalają na stosowanie pakietów mamy w naszej packages
reż.
Aby to zrobić, plik edit config dla tych dwóch narzędzi:
W systemie Linux: $HOME/.pydistutils.cfg
W systemie Windows: %HOME%\pydistutils.cfg
W moim przypadku mam tutaj :
[easy_install]
find_links = /home/javl/.pip/packages
Ta konfiguracja może pomóc w niektórych przypadkach wywołań pip install
, gdy pip próbuje wejść zatrzymaj pakiet, deklarując zależność od innych. Ponieważ deleguje to zadanie do wywołania setup.py
, bez konfiguracji .pydistutils.cfg
pobierze plik z PyPi.
Niestety, format koła nie jest obsługiwany w tym przypadku (o ile mi wiadomo).
- 1. Cache Progressive pobrane treści w MPMoviePlayerController
- 2. Jak używać "łatwej do zainstalowania" Pythona w systemie Windows ... to nie jest takie łatwe
- 3. Łatwe narzędzie do rozkładania obrazu ikonki?
- 4. łatwe do programu websocket Server
- 5. Czy mogę ponownie wykorzystać pobrane pliki z instalatora internetowego VS2010
- 6. GAE pobrane rozszerzenia plików z blobstore
- 7. Generator Expression do zainstalowania() nakazuje
- 8. Kompilacja potrzebna do zainstalowania google protobuf?
- 9. Duże pliki pobrane do Dokumentów i z kopią zapasową do iCloud
- 10. wget: pobrane nazwa pliku
- 11. Czy pliki tmp/cache/assets szyn mogą być bezpiecznie usunięte?
- 12. Wystąpił błąd podczas pobierania elementów do zainstalowania
- 13. rubin: kod do zainstalowania gem jeśli brakuje
- 14. Skrypt do zainstalowania aplikacji w Symulatorze iOS
- 15. SSLError pip install (do zainstalowania tensorflow)
- 16. Symfony2 doktryna jasne cache
- 17. Łatwe kodowanie JSON z Pythonem
- 18. Łatwe przykłady gier dla Androida
- 19. Łatwe sprawdzanie nierozwiązanych symboli w udostępnianych bibliotekach?
- 20. Jak buforować pobrane pakiety PIP
- 21. Jak powiedzieć Ivy, aby umieścić pobrane słoiki w niestandardowym katalogu?
- 22. Cordova zainstalowania platformy/plugins od config.xml
- 23. Jakie języki programowania są łatwe do napisania dla tłumaczy?
- 24. Przejście z małych skryptów do większych aplikacji nie jest łatwe
- 25. Łatwe metody instalacji i dostępu do biblioteki GDAL?
- 26. Łatwe dodanie aspektu "(all)" do facet_wrap w ggplot2?
- 27. przy użyciu wiersza polecenia nuget.exe do zainstalowania zależności
- 28. Szybkie i łatwe wykresy PHP/Javascript
- 29. Do czego służy `` --no-cache-dir` `pip?
- 30. Złożony klucz do Cache guawy (zmiany biegów)
Należy zwrócić uwagę na pliki 'pip cant install binaries (_. Pliki_o) '. Ma to kluczowe znaczenie na platformach Windows. –