Oto mój uproszczony skrypt setup.py z usuniętymi elementami niekodowymi:
#!/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 w:
include *.txt
include whyteboard-help/*.*
recursive-include locale *.mo
recursive-include images *.png
Kiedy uruchamiam „python setup.py install sdist”, otrzymuję ładny plik .tar.gz z folderem głównym „whyteboard-0.41”, w którym znajdują się moje lokalizacje / images / i whyteboard-help / foldery. Zawiera również mój skrypt whyteboard.py, który uruchamia mój program z pakietu źródłowego whyteboard.
Więc:
whyteboard/
├── locale/
├── images
├── whyteboard-help/
├── whyteboard/
│ ├── __init__.py
│ └── other packages etc
├── whyteboard.py
├── README
├── setup.py
└── CHANGELOG
To odzwierciedla źródło mojego programu, jest takie, jak powinno być i jest poprawne.
Jednak kiedy uruchamiam "python setup.py install", żaden z moich plików danych nie jest zapisywany - tylko pakiet źródłowy "whyteboard", a whyteboard.py jest umieszczany w /usr/local/lib/python2.6/dist-packages/ .
Idealnie, chciałbym mieć taką samą strukturę katalogów jak ta, która została wygenerowana w pliku .tar.gz, aby została utworzona w pakietach dist, ponieważ w ten sposób mój program oczekuje, że będzie szukał swoich zasobów.
Jak mogę „zainstalować”, aby utworzyć taką strukturę katalogów? O ile wiem, wydaje mi się, że ignoruje mój plik manifestu.