我正在尝试将setup.py
安装目录到/usr/share
(或者使用不同的前缀,或者至少让我的脚本从EGG文件中复制它)。
我的项目的目录结构如下所示:
- setup.py
- MANIFEST.in
- myproj
- __init__.py
- sompekg
- __init__.py
- data
- dirA
- dirB
- somefile
- somefile
我尝试添加'数据'到MANIFEST.in:
recursive-include data *
recursive-include themer *
或setup.py
:
include_package_data=True,
但是因为它是一个嵌套的目录结构,并且没有python文件,所以它不会包含它们。目前"数据"目录包含在EGG中,但没有子目录。
答案 0 :(得分:0)
好吧,我最后编写了自己的install
替换,调用常规setuptools.commands.install
,然后复制我的文件。以下是我setup.py
的相关内容:
from setuptools.command.install import install
class new_install(install):
def run(self):
install.run(self) # invoke original install
self.mkpath('/usr/share/themer')
self.copy_tree('data/default', '/usr/share/themer/default')
self.mkpath('/usr/share/fish/completions')
self.copy_file('data/fish/themer.fish', '/usr/share/fish/completions/')
setup(
#... whatever else you got here
cmdclass=dict(install=new_install)
)