2011-09-14 33 views
2

我有这个在我的MANIFEST.inpython sdist recursive-include文件夹,它在哪里安装?

recursive-include tables *.csv 

,我可以看到包含在创建.tar.gz

/mypackage-0.0.1 
    /mypackage 
    /mypackage.egg-info 
    /tables 

的文件夹,但我找不到我的文件夹,一旦我安装包:

pip install mypackage-0.0.1.tar.gz 

easy_install mypackage-0.0.1.tar.gz 

任何线索?

回答

3

使用MANIFEST.in时,可以指定要嵌入到存档中的文件,而不是它们将要安装的方式。

要告诉python/distutils你想要安装你的文件,添加你的setup.py在setup()方法中填入参数data_files。这样,您将能够指定安装those additional files的位置。

+0

'data_files'的不好之处在于它们安装在'sys.prefix'(通常为'/ usr')下。如果你想包含一个具有通用名称的文件夹,比如'share',这会带来很大的麻烦。我发现将内部'mypackage'下的'tables'移动到比我所要做的更加一致和错误证明的地方就是将文件添加到'MANIFEST.in'中(比如'tables'文件就是我刚添加的csv文件'* .csv '递归之后 - 包含mypackage * .txt ...' – neurino