vertical una tamaño logaritmica linea grafico grafica fijar etiquetas escala ejes como cambiar ajustar python python-wheel

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.