Voici mon script setup.py dépouillé avec des éléments non codés supprimés:
#!/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
Quand j'exécute "python setup.py install sdist", j'obtiens un joli .tar.gz avec un dossier racine "whyteboard-0.41", avec mes dossiers locale / images / et whyteboard-help / à l'intérieur. Cela a également mon script whyteboard.py qui lance mon programme depuis le paquet source whyteboard.
Donc:
whyteboard/
├── locale/
├── images
├── whyteboard-help/
├── whyteboard/
│ ├── __init__.py
│ └── other packages etc
├── whyteboard.py
├── README
├── setup.py
└── CHANGELOG
Cela reflète la source de mon programme, est la façon dont tout devrait être et est correct.
Cependant, lorsque j'exécute "python setup.py install", aucun de mes fichiers de données n'est écrit - seul le paquet source "whyteboard", et le whyteboard.py est placé dans /usr/local/lib/python2.6/dist-packages/ .
Idéalement, j'aimerais que la même structure de répertoires que ce qui a été généré dans le fichier .tar.gz soit créée dans dist-packages, car c'est ainsi que mon programme s'attend à rechercher ses ressources.
Comment puis-je obtenir "installer" pour créer cette structure de répertoires? Il semble ignorer mon fichier manifeste, pour autant que je sache.