python - una - fijar ejes matplotlib
¿Cómo enumero los archivos dentro de una rueda de python? (2)
Puede llevar el archivo de la rueda, cambiar la extensión a .zip
y luego extraer el contenido como cualquier otro archivo zip.
de PEP 427
Una rueda es un archivo en formato ZIP con un nombre de archivo especialmente formateado y la extensión
.whl
.
Ejemplo
El paquete Django Python tiene un archivo de rueda. Pruebe Django-1.8.4-py2.py3-none-any.whl como ejemplo. Su paquete contiene archivos que no son de Python si desea ver dónde terminan almacenados en el archivo.
Código
El siguiente código funciona correctamente en python2 y python3. Enumera los archivos en cualquier paquete de ruedas. Utilizo el paquete de ruedas pep8 como ejemplo.
from zipfile import ZipFile
path = ''/tmp/pep8-1.7.0-py2.py3-none-any.whl''
print(ZipFile(path).namelist())
Salida
[''pep8.py'', ''pep8-1.7.0.dist-info/DESCRIPTION.rst'', ''pep8-1.7.0.dist-info/entry_points.txt'', ''pep8-1.7.0.dist-info/metadata.json'', ''pep8-1.7.0.dist-info/namespace_packages.txt'', ''pep8-1.7.0.dist-info/top_level.txt'', ''pep8-1.7.0.dist-info/WHEEL'', ''pep8-1.7.0.dist-info/METADATA'', ''pep8-1.7.0.dist-info/RECORD'']
Estoy hurgando en las diversas opciones de setup.py
para incluir archivos que no son de Python, y son algo menos intuitivos. Me gustaría poder revisar el paquete generado por bdist_wheel
para ver lo que realmente bdist_wheel
, no tanto para asegurarse de que funcionará (para eso son las pruebas) sino para ver los efectos de las opciones que he probado. conjunto.
¿Cómo enumero los archivos contenidos en un .whl
?
unzip -l dist/*.whl
( credit )
Dado que una rueda es un archivo ZIP, unzip
funciona. La terminación de pestañas para el nombre del archivo no funcionará, a menos que la extensión cambie su nombre a zip
. El from zipfile import ZipFile
asume solo la presencia de Python en el sistema, pero una sola línea en el shell es más práctica.