2017-12-06 4 views
0

Gibt es einen Python-Zugriff auf Datendateien sowohl beim lokalen Testen eines Moduls als auch im verteilten Paket (z. B. mit wheel)?Zugriff auf Python-Datendateien sowohl lokal als auch im verteilten Paket

Konkret habe ich die gleiche Frage wie der unten stehende Kommentar.

Python Access Data in Package Subdirectory

+0

Die [Dokumentation] (https://docs.python.org/3/distutils/setupskript.html#installing-additional-files) sollte Ihnen die Antwort geben, die Sie brauchen. – MCBama

+0

Richten Sie Ihre 'setup.py'-Datei im Wesentlichen so ein, dass sie eine 'data_files'-Liste enthält, und Python sollte sie mit dem verteilten Paket verpacken (z. B. wenn Sie es in ein' Rad' verwandeln) Die Struktur ändert sich während der Verteilung nicht – MCBama

+0

Das Problem ist, dass "data_files" * die Verzeichnisstruktur ändert - es stellt die Dateien im Stammverzeichnis unter dem Verzeichnis "data" dar. Für Dateien, die sich in verschiedenen Ordnern und Unterordnern befinden Dies würde eine manuelle Neuerstellung dieser Ordner und Unterordner erfordern, was mühsam und fehleranfällig ist (alle Änderungen an der Verzeichnisstruktur müssten dort neu implementiert werden) .Die verknüpfte Dokumentation ist auch für 'distutils' gedacht, nicht für 'setuptools' (tut mir leid, ich habe nicht in der Frage angegeben, aber ich habe bereits die Datei im' Rad', ich brauche nur Zugriff); hat das zufällig die gleiche Spezifikation? – Californian

Antwort

0

Putting-Pakete in setup.py im Argument setup(..., data_files=[('', YOUR_DATA_FILES)],...) (die '' ist der wesentliche Teil) kopiert sie an Ort und Stelle, und sie können, wie sie sein würde sonst die zugegriffen werden soll, sowohl in lokalen Prüfung und wenn verteilt.

Verwandte Themen