¿Hay alguna manera en Python para enumerar todos los paquetes instalados y sus versiones?
Sé que puedo entrar python/Lib/site-packages
y ver qué archivos y directorios existen, pero me parece muy incómodo. Lo que estoy buscando es algo similar a, por npm list
ejemplo, npm-ls .
Respuestas:
Si tiene una instalación de pip y desea ver qué paquetes se han instalado con sus herramientas de instalación, simplemente puede llamar a esto:
También incluirá números de versión para los paquetes instalados.
Actualizar
pip se ha actualizado para producir también la misma salida que
pip freeze
llamando a:Nota
El resultado de
pip list
tiene un formato diferente, por lo que si tiene algún script de shell que analiza el resultado (tal vez para obtener el número de versión)freeze
y desea cambiar su script para llamarlist
, deberá cambiar su código de análisis.fuente
pip list
como un alias parapip freeze
. Es intuitivo escribirpip freeze > requirements.txt
, pero nopip freeze
.pip list
: pip-installer.org/en/latest/usage.html#pip-list , ¡así que esto es algo que ya viene!help('modules')
debería hacerlo por ti.en IPython:
fuente
Package.version()
opackage.__version__
opackage.ver
o cualquier número de otras posibilidadesSi desea obtener información sobre sus distribuciones de python instaladas y no desea usar su consola o terminal cmd para ello, sino a través del código de python, puede usar el siguiente código (probado con python 3.4):
La
pip.get_installed_distributions(local_only=True)
llamada a la función devuelve un iterable y debido a la función for-loop y la función de impresión, los elementos contenidos en el iterable se imprimen separados por nuevos caracteres de línea (\n
). El resultado (dependiendo de sus distribuciones instaladas) se verá así:fuente
pkg_resources
? AFAICR esto es parte desetuptools
. Nopip
. ¿Podemos suponer con seguridad quesetuptools
siempre estará disponible, solo dependiendopip
?Puedes probar: Yema
Para instalar la yema, intente:
fuente
Para ejecutar esto en versiones posteriores de pip (probado
pip==10.0.1
) use lo siguiente:fuente
pydoc pip._internal
pero no puedo alcanzarlo debajohelp(pip._internal)
, pip .__ builtins_ etc. la guía de referencia de pip también está en blanco._internal
tampoco. Parece que la funcionalidad no está oficialmente expuesta. ¡Entonces debes manejar esto con cuidado!desde la línea de comando
se puede usar para ver todos los módulos y para módulos específicos
Para Linux a continuación funcionará
fuente
-bash: syntax error near unexpected token `('
¡si! debe usar pip como administrador de paquetes de python ( http://pypi.python.org/pypi/pip )
con paquetes instalados pip, puede hacer un
y enumerará todos los paquetes instalados. Probablemente también deberías estar usando virtualenv y virtualenvwrapper . Cuando comienzas un nuevo proyecto, puedes hacer
y luego (dentro de ese virtualenv), hacer
De esta manera, puede
workon my_new_project
y luegopip freeze
ver qué paquetes están instalados para ese virtualenv / proyecto.por ejemplo:
o si tiene un paquete de Python con un archivo require.pip,
hará el truco
fuente
pip
de esta manera!virtualenv
de los paquetes de sitios globales, entonces debe usarlospip list --local
.virtualenv
. No conozco ninguna razón para no usarlos, y nadie le impide restringir a aisladosvirtualenv
si lo prefiere.Mi toma:
fuente
Aquí hay una manera de hacerlo usando en
PYTHONPATH
lugar de la ruta absoluta de su directorio de libs de python:fuente
Si estás usando anaconda:
¡lo haré! Ver: https://conda.io/docs/_downloads/conda-cheatsheet.pdf
fuente
Si esto es necesario para ejecutar desde Python, puede invocar un subproceso
fuente