Ecco il mio script setup.py ridotto all'osso con materiale non di codice rimosso:
#!/usr/bin/env python
from distutils.core import setup
from whyteboard.misc import meta
setup(
name = 'Whyteboard',
version = meta.version,
packages = ['whyteboard', 'whyteboard.gui', 'whyteboard.lib', 'whyteboard.lib.pubsub',
'whyteboard.lib.pubsub.core', 'whyteboard.lib.pubsub.utils', 'whyteboard.misc'],
py_modules = ['whyteboard'],
scripts = ['whyteboard.py'],
)
MANIFEST.in:
include *.txt
include whyteboard-help/*.*
recursive-include locale *.mo
recursive-include images *.png
Quando eseguo "python setup.py install sdist" ottengo un bel .tar.gz con una cartella principale "whyteboard-0.41", con le mie cartelle locali / images / e whyteboard-help /. Questo ha anche il mio script whyteboard.py che avvia il mio programma dall'interno del pacchetto sorgente whyteboard.
Così:
whyteboard/
├── locale/
├── images
├── whyteboard-help/
├── whyteboard/
│ ├── __init__.py
│ └── other packages etc
├── whyteboard.py
├── README
├── setup.py
└── CHANGELOG
Questo rispecchia il codice sorgente del mio programma, è come dovrebbe essere tutto ed è corretto.
Tuttavia, quando eseguo "python setup.py install" nessuno dei miei file di dati viene scritto - solo il pacchetto sorgente "whyteboard" e whyteboard.py si trova in /usr/local/lib/python2.6/dist-packages/ .
Idealmente, vorrei che la stessa struttura di directory di ciò che è stato generato nel file .tar.gz venisse creata in dist-packages, poiché è così che il mio programma si aspetta di cercare le sue risorse.
Come posso ottenere "installa" per creare questa struttura di directory? Sembra che stia ignorando il mio file manifest, per quanto ne so.