Вот мой урезанная setup.py скрипт с не-кода вещи удалены:MANIFEST.in игнорируется при установке «python setup.py install» - не установлены файлы данных?
#!/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
Когда я бегу "питон setup.py установить sdist" Я получаю nice .tar.gz с корневой папкой «whyteboard-0.41» с моей локалью/изображениями/и справочной системой help/folders внутри. У этого также есть мой скрипт whyteboard.py, который запускает мою программу изнутри исходного пакета whyboard.
Итак:
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/ Расс-пакеты /.
В идеале я хотел бы иметь ту же структуру каталогов, что и в файле .tar.gz, который должен быть создан в dist-пакетах, так как моя программа ожидает поиска ее ресурсов.
Как я могу установить «установить» для создания этой структуры каталогов? Насколько я могу судить, кажется, игнорирует мой файл манифеста.
Это несчастливо. Мне не нравится идея иметь данные пакета - для меня это имеет смысл для этих ресурсов жить вне исходного каталога. Мне также не нравится иметь имена каталогов с префиксом имени программы (хотя я уже делаю это для файлов справки). Hmm .. –