Bir paket için sıkıştırılmış dosyaları indirmek ve saklamak için Python'un pip'i nasıl kullanılır?


105

Ben kullanmak istiyorsanız pipbir paket (ve bağımlılıkları) indirmek, bunlarla komutu tutmak Bunu yapmanın bir yolu yoktur - (diyelim ki, django-socialregistration.tar.gz) indirilen olsun sıkıştırılmış dosyaların tümü?

Çeşitli komut satırı seçenekleri denedim, ama her zaman açmak ve görünüyor silmek ancak, yoksa zipfile alır - zipfile sadece orijinal paketinde, değil bağımlılıklar için.

Yanıtlar:


80

pip install --downloadkullanımdan kaldırıldı. 8.0.0 sürümünden başlayarak şu pip downloadkomutu kullanmalısınız :

 pip download <package-name>

3
ve indirilen paketler daha sonra nasıl kurulur?
2016

2
Bu en güncel cevaptır. Teşekkürler
KJ50

4
@knoctepip install path-to-downloaded-package
Anton Khodak

5
Bunu birkaç gün önce denedim ve sanırım indirilenleri kullanmak yerine internetten deps almaya çalıştı; IIRC, kullanmak zorundaydımsudo pip install <path-to-downloaded-package> --no-index --find-links `pwd`
2016

3
pip downloadAyrıca desteklediğini unutmayın, -r requirements.txtböylece hepsini internete bağlı bir makineden kolayca indirebilir, ardından çevrimdışı bir makineye kopyalayabilir ve yukarıdaki yorum yapanların bahsettiği gibi yükleyebilirsiniz
Hawkins

114

--download-cacheSeçenek istediğini yapmalıdır:

pip install --download-cache="/pth/to/downloaded/files" package

Ancak, bunu test ettiğimde, ana paket indirildi, kaydedildi ve kuruldu, ancak bağımlılıklar ad olarak tam url yollarıyla kaydedildi - biraz can sıkıcı, ancak tüm tar.gzdosyalar oradaydı.

--downloadSeçenek ana paket ve bağımlılıklarını indirir ve bunlardan herhangi yüklemez. ( Not bu önceki sürüm 1.1--download vermedi seçenek değil bağımlılıkları indirin.)

pip install package --download="/pth/to/downloaded/files"

pipKullanarak dokümantasyon hatları --downloadiçin hızlı ve yerel yüklemeler .


5
Güzel, bu gerçekten işe yaradı - bir --no-installseçeneği etiketlememe rağmen . Ve acayip dosya adları konusunda haklısın, ama en azından dosyalar orada .
John C

En son kontrol ettiğimde, bağımlılık içeren--download paketi indir seçeneği .
Mohammad Niknam

3
--download-cache kullanımdan kaldırıldı. pip install --download <dir> <pkg>
ostler.c kullanın

18
pip install --downloadin şimdi kullanımdan kaldırıldı ve pip 10'dan kaldırılacak. pip.pypa.io/en/latest/reference/pip_download/#overview . Kullanın pip download somepackage.
Sнаđошƒаӽ

18
Özellikle, yeni eşdeğerpip download -d <dir> { -r requirements.txt | <packagename> }
rrauenza

57

Paketleri indirmek için her zaman bunu yapıyorum:

pip install --download /path/to/download/to_packagename

VEYA

pip install --download=/path/to/packages/downloaded -r requirements.txt

Ve yeni indirdiğim tüm bu kitaplıkları kurmak istediğimde, şunu yapıyorum:

pip install --no-index --find-links="/path/to/downloaded/dependencies" packagename

VEYA

pip install --no-index --find-links="/path/to/downloaded/packages" -r requirements.txt


Güncelleme

Ayrıca, bir sistemde kurulu olan tüm paketleri almak için requirement.txt, hepsini başka bir sistemde kurmak için kullanılacak olana aktarabilirsiniz, bunu yapıyoruz:

pip freeze > requirement.txt

Ardından, requirement.txtindirme için yukarıdaki gibi kullanılabilir veya bunları şuradan yüklemek için bunu yapın requirement.txt:

pip install -r requirement.txt

REFERANS: pip yükleyici


6

7.1.2 sürümünde pip, aşağıdakileri içeren bir paketin (varsa) çarkını indirir:

pip install package -d /path/to/downloaded/file

Aşağıdaki bir kaynak dağıtımını indirir:

pip install package -d /path/to/downloaded/file --no-binary :all:

Bunlar, pip farkındaysa bağımlılıkları da indirir (örneğin, eğer pip show packageonları listelerse).


Güncelleme

Tarafından belirtildiği gibi Anton Khodak , pip downloadkomut Yukarıdaki örneklerde sürüm 8 itibaren bu aracı tercih edilir /path/to/downloaded/fileihtiyaçları seçeneği ile verilecek -dböylece yerine installsahip downloadeserler.


Windows'ta geliştirmem ve RH7'de internet bağlantısı olmadan konuşmam gerekiyor. Bu yüzden kaynak paketlerini --no-binary: all: ile indiriyorum. Ancak, django-pyodbc-azure == 2.0.4.1 toplanırken bu paketin kaynağı olmadığı için bu başarısız olur. Kaynağı indirmenin bir yolu var mı yoksa bu yoksa weehl'i indirmenin bir yolu var mı?
cwhisperer

6

pip download <package1 package2 package n>Bağımlılıklar dahil tüm paketleri indirmek için kullanın

Kullanım pip install --no-index --find-links . <package1 package2 package n>Bağımlılıklar dahil tüm paketleri kurmak için . Tüm dosyaları buradan alır CWD. Hiçbir şey indirmeyecek


2

pip wheel göz önünde bulundurmanız gereken başka bir seçenektir:

pip wheel mypackage -w .\outputdir

Paketleri ve bağımlılıklarını bir dizine (varsayılan olarak geçerli çalışma dizini) indirir, ancak herhangi bir kaynak paketini tekerleklere dönüştürme ek adımını gerçekleştirir.

Gereksinim dosyalarını rahatlıkla destekler:

pip wheel -r requirements.txt -w .\outputdir

--no-depsYalnızca özel olarak istenen paketleri istiyorsanız argümanı ekleyin :

pip wheel mypackage -w .\outputdir --no-deps

0

Tercih ederim (RHEL) - pip download package==version --no-deps --no-binary=:all:


-1

python paketlerini çevrimdışı yükleme

For Windows kullanıcıları:

To indirmek bir dosya halinde açmak cmd ve bu folow:

cd <*the file-path where you want to save it*>

pip download <*package name*>

paket ve bağımlılıklar mevcut çalışma dizinine indirilecektir.

To yüklemek Geçerli çalışma dizini:

cwd olarak indirdiğiniz klasörünüzü ayarlayın ve ardından şunları izleyin:

pip install <*the package name which is downloded as .whl*> --no-index --find-links <*the file locaation where the files are downloaded*>

bu, o konumdaki bağımlılıkları arayacaktır.


Platformu belirtmezseniz, mevcut işletim sistemi için dosyaları indirecektir. Bu nedenle, indirilen dosyaları başka bir işletim sistemine yüklerseniz bu işe yaramayacaktır
Prometheus
Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.