web-dev-qa-db-fra.com

Où pip installe-t-il ses paquets?

J'ai activé un virtualenv sur lequel pip est installé. J'ai fait

pip3 install Django==1.8

et Django téléchargé avec succès. Maintenant, je veux ouvrir le dossier Django. Où se trouve le dossier? Normalement, il s'agirait de "téléchargements", mais je ne sais pas où ce serait si je l'installais à l'aide de pip dans une virtualenv.

219
user2719875

pip utilisé avec virtualenv installera généralement les packages dans le chemin <virtualenv_name>/lib/<python_ver>/site-packages.

Par exemple, j'ai créé un test virtualenv nommé venv_test avec Python 2.7 et le dossier Django est dans venv_test/lib/python2.7/site-packages/Django.

81
khampson

À la demande générale, une option proposée via la réponse publiée:

pip show <package name> fournira l'emplacement de Windows et de macOS, et j'imagine n'importe quel système. :)

Par exemple:

> pip show cvxopt
Name: cvxopt
Version: 1.2.0
...
Location: /usr/local/lib/python2.7/site-packages
392
gdbj

Par défaut, sous Linux, Pip installe les packages dans /usr/local/lib/python2.7/dist-packages.

L'utilisation de virtualenv ou --user lors de l'installation modifiera cet emplacement par défaut. Si vous utilisez pip show assurez-vous que vous utilisez le bon utilisateur, sinon pip risque de ne pas voir les packages que vous référencez.

6
CognizantApe

Dans un interprète ou un script Python, vous pouvez effectuer

import site
site.getsitepackages() # list of global package locations

et

site.getusersitepackages() #string for user-specific package location

pour les emplacements, les packages tiers (ceux qui ne font pas partie de la distribution principale Python sont installés) sont installés sur.

Sur mon Python installé sur Brew sous MacOS, les sorties précédentes

['/usr/local/Cellar/python/3.7.4/Frameworks/Python.framework/Versions/3.7/lib/python3.7/site-packages'],

qui canonise sur le même chemin que le résultat de pip show, comme mentionné dans une réponse précédente:

$ readlink -f /usr/local/Cellar/python/3.7.4/Frameworks/Python.framework/Versions/3.7/lib/python3.7/site-packages
/usr/local/lib/python3.7/site-packages

Référence: https://docs.python.org/3/library/site.html#site.getsitepackages

0
flow2k