2015-06-17 15 views
12

Ho un progetto Python 3.Creazione di deb o rpm con setuptools - data_files

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

Su installare, vorrei spostare i file in lattice di directory nota, dire /usr/share/mkc/latex, così ho detto setuptools per includere i file di dati

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

Ora, quando corro

./setup.py bdist --formats=rpm 

o

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

ottengo il seguente errore:

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

esecuzione solo ./setup.py bdist funziona bene, in modo che il problema deve essere la creazione del pacchetto.

+0

Avete un repository di questo online da qualche parte; forse su [Github] (https://github.com)? –

+0

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

risposta

11

Durante la creazione di un file deb (suppongo gli stessi conteggi per un file rpm), ./setup.py --command-packages=stdeb.command bdist_deb crea prima una distribuzione di origine e utilizza tale archivio per un'ulteriore elaborazione. Ma i tuoi file LaTeX non sono inclusi lì, quindi non vengono trovati.

È necessario aggiungerli al pacchetto sorgente. Tale può essere raggiunto con l'aggiunta di un MANIFEST.in con contenuti:

recursive-include latex *.tex 

distutils dalla versione 3.1 su includerebbe automaticamente la data_files in una distribuzione di sorgenti, mentre setuptools a quanto pare funziona in modo molto diverso.

+0

Funziona e penso di sapere perché. La grazia è tua! – pacholik

Problemi correlati