Comment utiliser pip de Python pour télécharger et conserver les fichiers compressés pour un paquet?

Si je veux utiliser la commande pip pour télécharger un paquet (et ses dépendances), mais Gardez Tous les fichiers compressés qui sont téléchargés (par exemple, django-socialregistration.tar.gz) existe - il un moyen de le faire?

J'ai essayé diverses options de ligne de commande, mais il semble toujours décompresser et Supprimer le fichier zip-ou il obtient le fichier zip, mais seulement pour le paquet d'origine, pas les dépendances.

86
demandé sur John C 2011-09-04 19:42:36

5 réponses

L'option --download-cache devrait faire ce que vous voulez:

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

Cependant, quand j'ai testé cela, le paquet principal téléchargé, enregistré et installé ok, mais les dépendances ont été enregistrées avec leur chemin d'url complet comme nom-un peu ennuyeux, mais tous les fichiers tar.gz étaient là.

L'option --download télécharge le paquet principal et ses dépendances et n'installe aucun d'entre eux. (notez que avant la version 1.1 l'option --downloadn'a pas Téléchargé dépendance.)

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

La documentation pip décrit l'utilisation de --download pour installations rapides et locales .

108
répondu Mark Gemmill 2017-11-21 21:13:17

Je fais toujours ceci pour télécharger les paquets:

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

Ou

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

Et quand je veux installer toutes ces bibliothèques que je viens de télécharger, je fais ceci:

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

Ou

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


Mise à Jour

Aussi, pour obtenir tous les paquets installés sur le système, vous pouvez exporter tous à requirement.txt qui sera utilisé pour installer sur un autre système, nous le faisons:

pip freeze > requirement.txt

Ensuite, le requirement.txt peut être utilisé comme ci-dessus pour le téléchargement, ou faites ceci pour les installer à partir de requirement.txt:

pip install -r requirement.txt

Référence: installateur pip

51
répondu securecurve 2014-01-23 10:12:40

pip install --download est obsolète. A partir de la version 8.0.0 vous devez utiliser pip download commande:

 pip download <package-name>
44
répondu Anton Khodak 2016-07-03 09:33:07

Dans la version 7.1.2 pip télécharge la roue d'un paquet (si disponible) avec ce qui suit:

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

Ce qui suit télécharge une distribution source:

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

Ceux-ci téléchargent également les dépendances, si pip en est conscient (par exemple, si pip show package les répertorie).


Mise à Jour

, Comme l'a noté Anton Khodak, pip download la commande est préféré depuis la version 8. Dans les exemples ci-dessus, cela signifie que /path/to/downloaded/file doit être donné avec l'option -d, donc en remplaçant install avec download œuvres.

7
répondu jasaarim 2017-05-23 10:31:14

Utiliser pip download <package1 package2 package n> pour télécharger tous les paquets y compris les dépendances

Utiliser pip install --no-index --find-links . <package1 package2 package n> pour installer tous les paquets y compris les dépendances. Il obtient tous les fichiers de CWD. Il ne téléchargera rien

4
répondu Siva Kranthi Kumar 2018-03-08 07:44:29