2015-06-17 9 views
12

Ich habe ein Python 3-Projekt.Erstellen von deb oder rpm mit setuptools - data_files

MKC 
├── latex 
│ ├── macros.tex 
│ └── main.tex 
├── mkc 
│ ├── cache.py 
│ ├── __init__.py 
│ └── __main__.py 
├── README.md 
├── setup.py 
└── stdeb.cfg 

On installieren, würde Ich mag meine Latex-Dateien bekannt Verzeichnis verschieben, sagen /usr/share/mkc/latex, also habe ich setuptools gesagt Datendateien

data_files=[("/usr/share/mkc/latex", 
      ["latex/macros.tex", "latex/main.tex"])], 

Jetzt sind, wenn ich

./setup.py bdist --formats=rpm 
laufen

oder

./setup.py --command-packages=stdeb.command bdist_deb 

bekomme ich folgende Fehlermeldung:

 
error: can't copy 'latex/macros.tex': doesn't exist or not a regular file 

Laufen nur ./setup.py bdist funktioniert gut, so dass das Problem in der Paketerstellung sein muss.

+0

Haben Sie irgendwo online ein Repository? vielleicht auf [Github] (https://github.com)? –

+0

https://github.com/pacholik/MKC – pacholik

Antwort

11

Beim Erstellen einer Deb-Datei (ich nehme an, dass dasselbe für eine rpm-Datei gilt), erstellt ./setup.py --command-packages=stdeb.command bdist_deb zuerst eine Quelldistribution und verwendet dieses Archiv für die weitere Verarbeitung. Aber deine LaTeX-Dateien sind dort nicht enthalten, daher werden sie nicht gefunden.

Sie müssen sie zum Quellpaket hinzufügen. Dies kann durch das Hinzufügen einer MANIFEST.in mit Inhalten erreicht werden:

recursive-include latex *.tex 

distutils von Version 3.1 auf würde automatisch die data_files in einer Quelldistribution enthalten, während setuptools anscheinend ganz anders funktioniert.

+0

Es funktioniert und ich denke, ich weiß warum. Das Kopfgeld gehört dir! – pacholik

Verwandte Themen