这是我的精简 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'],
)
清单.in:
include *.txt
include whyteboard-help/*.*
recursive-include locale *.mo
recursive-include images *.png
当我运行“python setup.py install sdist”时,我得到了一个不错的 .tar.gz,其中包含一个“whyteboard-0.41”根文件夹,其中包含我的 locale/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/ .
理想情况下,我希望与在 dist-packages 中创建的 .tar.gz 文件中生成的目录结构相同,因为这是我的程序期望查找其资源的方式。
我怎样才能“安装”来创建这个目录结构?据我所知,它似乎忽略了我的清单文件。