Existe uma maneira no Python de listar todos os pacotes instalados e suas versões?
Sei que posso entrar python/Lib/site-packages
e ver quais arquivos e diretórios existem, mas acho isso muito estranho. O que estou procurando é algo semelhante ao npm list
ie npm-ls .
Respostas:
Se você possui o pip install e deseja ver quais pacotes foram instalados com as ferramentas do instalador, basta chamar isso:
Também incluirá números de versão para os pacotes instalados.
Atualizar
O pip foi atualizado para também produzir a mesma saída
pip freeze
chamando:Nota
A saída de
pip list
é formatada de forma diferente; portanto, se você tiver algum script de shell que analise a saída (talvez para pegar o número da versão)freeze
e deseje alterar seu script para chamarlist
, será necessário alterar seu código de análise.fonte
pip list
como um apelido parapip freeze
. É intuitivo escreverpip freeze > requirements.txt
, mas nãopip freeze
.pip list
: pip-installer.org/en/latest/usage.html#pip-list - então isso já é algo que já está chegando!help('modules')
deve fazer isso por você.no IPython:
fonte
Package.version()
oupackage.__version__
oupackage.ver
ou qualquer número de outras possibilidadesSe você deseja obter informações sobre suas distribuições python instaladas e não deseja usar o console ou terminal do cmd para isso, mas através do código python, você pode usar o seguinte código (testado com python 3.4):
A
pip.get_installed_distributions(local_only=True)
chamada de função retorna um iterável e, devido ao loop for e à função de impressão, os elementos contidos no iterável são impressos separados por novos caracteres de linha (\n
). O resultado (dependendo das distribuições instaladas) será mais ou menos assim:fonte
pkg_resources
? AFAICR isso faz partesetuptools
. Nãopip
. Podemos assumir com segurança quesetuptools
sempre estará disponível, dependendo apenaspip
?Você pode tentar: Gema
Para instalar a gema, tente:
fonte
Para executar isso em versões posteriores do pip (testado
pip==10.0.1
), use o seguinte:fonte
pydoc pip._internal
mas não consigo alcançá-lo em baixohelp(pip._internal)
, pip .__ builtins_ etc. o guia de referência do pip também está em branco._internal
. Parece que a funcionalidade não está oficialmente exposta. Então você deve lidar com isso com cuidado!da linha de comando
pode ser usado para visualizar todos os módulos e para módulos específicos
Para Linux abaixo funcionará
fonte
-bash: syntax error near unexpected token `('
sim! você deve usar o pip como seu gerenciador de pacotes python ( http://pypi.python.org/pypi/pip )
com pacotes instalados pelo pip, você pode fazer uma
e listará todos os pacotes instalados. Você provavelmente também deve estar usando virtualenv e virtualenvwrapper . Quando você inicia um novo projeto, pode fazer
e então (dentro desse virtualenv), faça
Dessa forma, você pode
workon my_new_project
e depoispip freeze
ver quais pacotes estão instalados para esse projeto / virtualenv.por exemplo:
ou se você tiver um pacote python com um arquivo requirements.pip,
fará o truque
fonte
pip
-lo dessa maneira!virtualenv
os pacotes de sites globais, você precisará usarpip list --local
.virtualenv
. Não conheço nenhum motivo para não usá-los e ninguém o impede de restringir o isolamento,virtualenv
se preferir.Minha vez:
fonte
Aqui está uma maneira de fazer isso usando, em
PYTHONPATH
vez do caminho absoluto do seu diretório libs python:fonte
Se você estiver usando anaconda:
vai fazer isso! Consulte: https://conda.io/docs/_downloads/conda-cheatsheet.pdf
fonte
Se isso for necessário para executar a partir do python, você poderá invocar o subprocesso
fonte