Si je veux utiliser la commande pip
pour télécharger un paquet (et ses dépendances), mais garder tous les fichiers compressés téléchargés (par exemple, Django-socialregistration.tar.gz ) - Y-a-t-il un moyen de faire ça?
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 niquement pour le package d'origine, pas le dépendances.
pip install --download
est obsolète. A partir de la version 8.0.0, vous devriez utiliser pip download
commande:
pip download <package-name>
L'option --download-cache
Devrait faire ce que vous voulez:
pip install --download-cache="/pth/to/downloaded/files" package
Cependant, lorsque j'ai testé cela, le paquet principal a été téléchargé, sauvegardé et installé correctement, mais les dépendances ont été sauvegardées avec leur chemin complet comme nom - un peu gênant, mais tous les fichiers tar.gz
Étaient présents.
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 --download
Était pas dépendances de téléchargement.)
pip install package --download="/pth/to/downloaded/files"
La documentation de pip
utilise --download
Pour installations rapides et locales .
Je fais toujours cela pour télécharger les packages:
pip install --download /path/to/download/to_packagename
OR
pip install --download=/path/to/packages/downloaded -r requirements.txt
Et quand je veux installer toutes les bibliothèques que je viens de télécharger, je fais ceci:
pip install --no-index --find-links="/path/to/downloaded/dependencies" packagename
OR
pip install --no-index --find-links="/path/to/downloaded/packages" -r requirements.txt
Mettre à jour
En outre, pour obtenir tous les packages installés sur un système, vous pouvez tous les exporter au format requirement.txt
qui sera utilisé pour les installer sur un autre système, nous faisons ceci:
pip freeze > requirement.txt
Puis le requirement.txt
peut être utilisé comme ci-dessus pour le téléchargement, ou le faire pour les installer à partir de requirement.txt
:
pip install -r requirement.txt
REFERENCE: installateur pip
Dans la version 7.1.2, pip télécharge la roue d'un package (si disponible) avec les éléments suivants:
pip install package -d /path/to/downloaded/file
Les téléchargements suivants 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 a connaissance (par exemple, si pip show package
les répertorie).
Mettre à jour
Comme noté par Anton Khodak , pip download
La commande est préférée depuis la version 8. Dans les exemples ci-dessus, cela signifie que /path/to/downloaded/file
doit être donné avec l'option -d
, le remplacement de install
par download
fonctionne.
Utilisation pip download <package1 package2 package n>
pour télécharger tous les paquets, y compris les dépendances
Utilisation pip install --no-index --find-links . <package1 package2 package n>
pour installer tous les packages, y compris les dépendances. Il récupère tous les fichiers de CWD
. Il ne téléchargera rien
pip wheel
est une autre option à considérer:
pip wheel mypackage -w .\outputdir
Il téléchargera les packages et leurs dépendances dans un répertoire (répertoire de travail actuel par défaut), mais il effectuera l'étape supplémentaire consistant à convertir les packages source en roues.
Il prend facilement en charge les fichiers de configuration requise:
pip wheel -r requirements.txt -w .\outputdir
Ajouter le --no-deps
argument si vous ne voulez que les paquets spécifiquement demandés:
pip wheel mypackage -w .\outputdir --no-deps