Wie kann ich die Liste der Dateien innerhalb eines python-Rad?
Ich bin stochern die verschiedenen Optionen zu setup.py
für die Einbeziehung von nicht-python-Dateien, und Sie sind etwas weniger als intuitiv. Ich möchte in der Lage sein zu überprüfen, das Paket generiert bdist_wheel
um zu sehen, was tatsächlich in es-nicht so viel, um sicherzustellen, dass es funktionieren wird (das ist, was tests sind), sondern zu sehen, die Auswirkungen der Optionen, die ich eingestellt habe.
Wie kann ich die Liste der enthaltenen Dateien in einem .whl
?
- Ziemlich sicher es ist eine zip-Datei.
- Bezüglich der "nicht so viel, um sicherzustellen, dass es funktionieren wird": einige checklistenpunkte sind ungewöhnliche Themen für die Prüfung, zum Beispiel sicherstellen, dass keine zusätzlichen Lizenz-Dateien der begleitenden externen C-Bibliotheken enthalten sind, die in kompilierter form in das Rad. Diese Elemente sind am besten überprüft durch die Auflistung der Rad-Inhalte. Siehe auch: stackoverflow.com/questions/24347450/...
Du musst angemeldet sein, um einen Kommentar abzugeben.
Können Sie mit der Rad-Datei, ändern Sie die Erweiterung zu
.zip
und extrahieren Sie dann die Inhalte wie jede andere zip-Datei.vom PEP 427
Beispiel
den Django python-Paket hat eine Rad-Datei. Versuchen Django-1.8.4-py2.py3-keine-keine.whl als ein Beispiel. Ihr Paket enthält nicht-python-Dateien, wenn Sie wollten, um zu sehen, wo Sie am Ende wird im Archiv gespeichert.
Code
Folgende code funktioniert einwandfrei in python2 und Python ist3. Es wird eine Liste der Dateien, die in jedem Rad-Paket. Ich benutze die pep8 Rad-Paket als Beispiel.
Ausgabe
unzip -l dist/*.whl
(Kredit)Da ein Rad ist eine ZIP-Datei,
unzip
funktioniert. Tab-Vervollständigung für den Namen der Datei nicht funktionieren, es sei denn, die Endung ist umbenanntzip
. Diefrom zipfile import ZipFile
Ansatz übernimmt nur die Präsenz von Python in das system, aber ein one-liner in die shell praktischer ist.