Ось мій зачищений скрипт setup.py із видаленими некодовими матеріалами:
#!/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
Коли я запускаю "python setup.py install sdist", я отримую приємний файл .tar.gz з кореневою папкою "whyteboard-0.41", з моєю локаллю / images / і whyteboard-help / папками всередині. Тут також мій сценарій whyteboard.py, який запускає мою програму зсередини вихідного пакета whyteboard.
Тому:
whyteboard/
├── locale/
├── images
├── whyteboard-help/
├── whyteboard/
│ ├── __init__.py
│ └── other packages etc
├── whyteboard.py
├── README
├── setup.py
└── CHANGELOG
Це відображає джерело моєї програми, це те, як все повинно бути, і є правильним.
Однак, коли я запускаю "python setup.py install", жоден з моїх файлів даних не записується - лише вихідний пакет "whyteboard", і whyteboard.py розміщується в /usr/local/lib/python2.6/dist-packages/ .
В ідеалі, я хотів би, щоб та сама структура каталогів, що була створена у файлі .tar.gz, створювалась у пакунках dist, оскільки саме така програма розраховує шукати свої ресурси.
Як я можу отримати "встановити" для створення цієї структури каталогів? Здається, це ігнорує мій файл маніфесту, наскільки я можу судити.