我正在使用setuptools创建一个鸡蛋,我想在其中包含一些支持二进制文件,最好安装在egg目录中.
我可以使用data_files或package_data包含这些文件,但是在部署它们时不会设置可执行位.
或者,我可以使用脚本,但是他们将(默认情况下)部署到所有其他包共享的公共目录,我想避免.
如何使用我的包部署这些二进制文件并确保其文件模式得以保留?
解决方法:
在Linux中放置支持二进制文件的通常(标准)位置是/usr/libexec.因此,您可以使用data_files选项在其下创建目录.在源中创建文件x,并保留权限.只是把类似的东西
data_files=[(os.path.join(sys.prefix, 'libexec', 'myproject'), glob("libexec/*"))],
在您的设置功能和项目中的libexec目录中.