Onde o pip instala seus pacotes?


323

Ativei um virtualenv com o pip instalado. eu fiz

pip3 install Django==1.8

e Django baixado com sucesso. Agora, eu quero abrir a pasta Django. Onde está localizada a pasta? Normalmente estaria em "downloads", mas não tenho certeza de onde estaria se eu o instalasse usando o pip em um virtualenv.


1
O diretório no qual instalar pacotes pode ser substituído por argumentos da CLI, variáveis ​​de ambiente ou um arquivo de configuração?
John Carrell

Respostas:


108

O pip quando usado com o virtualenv geralmente instala pacotes no caminho <virtualenv_name>/lib/<python_ver>/site-packages.

Por exemplo, eu criei um virtualenv teste chamado venv_test com Python 2.7, ea djangopasta está em venv_test/lib/python2.7/site-packages/django.


1
Às vezes, você pode não saber o nome / caminho do virtualenv, como usar com recursos gerados pelo Jupyterhub / binderhub. Eu encontrei o caminho número 1 aqui para trabalhar quando pip shownão fiz nada. Resumidamente, consiste em inserir o console python apropriado e digitar help("module_name"), onde module_nameé substituído pelo nome real do módulo em que você está interessado. Você pode ver os módulos instalados help("modules")no console python.
Wayne

1
de que maneira você construiu seu virtualenv? Estou usando o conda para criar meu ambiente virtual enquanto o pip3 não instalou o pacote na pasta que você mencionou
cloudscomputes

Na época (quase 4 anos atrás), eu estava usando o virtualenv e o Python 2.x. Agora, estou usando venv e Python 3.5.x. Ainda encontro a mesma estrutura geral de pastas. Com o Anaconda, é uma distribuição distinta e com curadoria, para que possa estruturar as coisas de maneira diferente, pelo menos em parte.
precisa saber é o seguinte

583

Por demanda popular, uma opção fornecida por resposta postada:

pip show <package name>fornecerá o local para Windows e macOS, e acho que qualquer sistema. :)

Por exemplo:

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

15
No mac, isso me mostrou um diretório com o código fonte awscli, mas sem binário. : /
Cory Klein

8
Correto, mas para estar em total conformidade com a pergunta, deve serpip3 show <package name>
Jorge Torres #:

1
Estou usando o python 3.6 no Windows e "pip" refere-se ao pip para python 3. Não preciso especificar "pip3".
FistOfFury

7
@CoryKlein Em vez de site-packages/, eu encontrei-o em~/Library/Python/3.7/bin/
Matt Fletcher

2
Funcionou muito bem para o ubuntu 18.04
Mohammed Baashar 14/04/19

47

pip list -vpode ser usado para listar os locais de instalação dos pacotes, apresentados em https://pip.pypa.io/en/stable/news/#b1-2018-03-31

Mostrar locais de instalação quando o comando list foi executado com a opção "-v". (# 979)

>pip list -v
Package                  Version   Location                                                             Installer
------------------------ --------- -------------------------------------------------------------------- ---------
alabaster                0.7.12    c:\users\me\appdata\local\programs\python\python38\lib\site-packages pip
apipkg                   1.5       c:\users\me\appdata\local\programs\python\python38\lib\site-packages pip
argcomplete              1.10.3    c:\users\me\appdata\local\programs\python\python38\lib\site-packages pip
astroid                  2.3.3     c:\users\me\appdata\local\programs\python\python38\lib\site-packages pip
...

Atualização : Este recurso foi introduzido em pip10.0.0b1. No Ubuntu 18.04, pipou pip3instalado com sudo apt install python-pipou sudo apt install python3-pipé 9.0.1, que não possui esse recurso. Verifique https://github.com/pypa/pip/issues/5599 para obter formas adequadas de atualização pipou pip3.


4
Infelizmente, isso não funciona no Ubuntu 18.04LTS
Sumanth Lazarus

3
Para mim, ele não mostra o local da instalação (no Linux Mint 19.3)
Nicolai Weitkemper 25/03

O pipinstalado usando sudo apt install python-pipou sudo apt install python3-pipé 9.0.1. Verifique github.com/pypa/pip/issues/5599 para obter maneiras adequadas de atualizar pipou pip3.
jiasli

11

Por padrão, no Linux, o Pip instala pacotes em /usr/local/lib/python2.7/dist-packages.

O uso do virtualenv ou --user durante a instalação mudará esse local padrão. Se você usar, pip showcertifique-se de estar usando o usuário certo ou pippoderá não ver os pacotes que você está referenciando.


7

Em um interpretador ou script Python, você pode fazer

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

e

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

para locais pacotes de terceiros (aqueles que não estão na distribuição principal do Python) estão instalados.

No meu Python instalado no Brew no MacOS, as saídas anteriores

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

que canoniza para o mesmo caminho de saída pip show, como mencionado em uma resposta anterior:

$ 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

Referência: https://docs.python.org/3/library/site.html#site.getsitepackages

Ao utilizar nosso site, você reconhece que leu e compreendeu nossa Política de Cookies e nossa Política de Privacidade.
Licensed under cc by-sa 3.0 with attribution required.