Jeśli chcę użyć pip
polecenia, aby pobrać pakiet (i jego zależności), ale zachować wszystkie pobrane pliki spakowane (na przykład django-socialregistration.tar.gz) - czy jest na to sposób?
Próbowałem różnych opcji wiersza poleceń, ale zawsze wydaje się, że rozpakowuje i usuwa plik zip - lub pobiera plik zip, ale tylko dla oryginalnego pakietu, a nie zależności.
pip install path-to-downloaded-package
sudo pip install <path-to-downloaded-package> --no-index --find-links `pwd`
pip download
obsługuje również,-r requirements.txt
dzięki czemu możesz je łatwo pobrać z komputera podłączonego do Internetu, a następnie skopiować na komputer offline i zainstalować, jak wspomnieli powyżej komentatorzyTa
--download-cache
opcja powinna robić, co chcesz:Jednak kiedy to przetestowałem, główny pakiet został pobrany, zapisany i zainstalowany w porządku, ale zależności zostały zapisane z pełną ścieżką adresu URL jako nazwą - trochę denerwujące, ale wszystkie
tar.gz
pliki tam były.Ta
--download
opcja pobiera pakiet główny i jego zależności i nie instaluje żadnego z nich. ( Uwaga , że przed wersją 1.1--download
opcji nie nie ściągnąć zależności).W
pip
zarysy dokumenty, używając--download
do szybkich i lokalnych instalacjach .źródło
--no-install
opcję. I masz rację co do dziwacznych nazw plików, ale przynajmniej pliki tam są .--download
opcję pobierz pakiet z zależnościami.pip install --download
obecnie jest przestarzała i zostanie usunięta z pip 10. pip.pypa.io/en/latest/reference/pip_download/#overview . Użyjpip download somepackage
.pip download -d <dir> { -r requirements.txt | <packagename> }
Robię to zawsze, aby pobrać pakiety:
pip install --download /path/to/download/to_packagename
LUB
pip install --download=/path/to/packages/downloaded -r requirements.txt
A kiedy chcę zainstalować wszystkie biblioteki, które właśnie pobrałem, robię to:
pip install --no-index --find-links="/path/to/downloaded/dependencies" packagename
LUB
pip install --no-index --find-links="/path/to/downloaded/packages" -r requirements.txt
Aktualizacja
Ponadto, aby zainstalować wszystkie pakiety w jednym systemie, możesz je wszystkie wyeksportować do
requirement.txt
były używane do zainstalowania ich w innym systemie, robimy to:pip freeze > requirement.txt
Następnie
requirement.txt
można użyć jak powyżej do pobrania lub zrobić to, aby zainstalować je zrequirement.txt
:pip install -r requirement.txt
ODNIESIENIE: instalator pip
źródło
W wersji 7.1.2 pip pobiera koło pakietu (jeśli jest dostępne) z następującymi elementami:
Poniższe pliki do pobrania dystrybucji źródłowej:
Pobierają one również zależności, jeśli pip jest ich świadomy (np. Jeśli
pip show package
je wyświetla).Aktualizacja
Jak zauważono Anton Khodak ,
pip download
polecenie jest korzystne, ponieważ w wersji 8. W powyższych przykładach, to oznacza, że/path/to/downloaded/file
musi być podawany z opcji-d
, więc zastąpienieinstall
dodownload
robót.źródło
Służy
pip download <package1 package2 package n>
do pobierania wszystkich pakietów, w tym zależnościSłuży
pip install --no-index --find-links . <package1 package2 package n>
do instalowania wszystkich pakietów, w tym zależności. Pobiera wszystkie pliki zCWD
. Nie pobierze niczegoźródło
pip wheel
to kolejna opcja, którą powinieneś rozważyć:Pobiera pakiety i ich zależności do katalogu (domyślnie bieżący katalog roboczy), ale wykonuje dodatkowy krok polegający na konwersji pakietów źródłowych na koła.
Dogodnie obsługuje pliki wymagań:
Dodaj
--no-deps
argument, jeśli chcesz tylko specjalnie żądane pakiety:źródło
Wolałbym (RHEL) -
pip download package==version --no-deps --no-binary=:all:
źródło
instalowanie pakietów Pythona w trybie offline
Dla użytkowników systemu Windows :
Aby pobrać do pliku, otwórz cmd i wykonaj następujące czynności:
cd <*the file-path where you want to save it*>
pip download <*package name*>
pakiet i zależności zostaną pobrane do bieżącego katalogu roboczego.
Aby zainstalować z bieżącego katalogu roboczego:
ustaw folder, do którego pobrałeś jako cwd, a następnie wykonaj następujące czynności:
pip install <*the package name which is downloded as .whl*> --no-index --find-links <*the file locaation where the files are downloaded*>
spowoduje to wyszukanie zależności w tej lokalizacji.
źródło