我正在使用setuptools来创建一个egg,我想在其中包含一些支持的二进制文件,最好是安装在egg目录中。
我可以将这些文件包含在data_files或package_data中,但是在部署它们时不会设置可执行位。
或者,我也可以使用scripts,但它们(默认情况下)将被部署到一个由所有其他软件包共享的公共目录中,这是我希望避免的。
如何将这些二进制文件与我的包一起部署,并确保它们的文件模式得到保留?
发布于 2011-08-10 17:35:55
在Linux中放置支持二进制文件的通常(标准)位置是/usr/libexec。因此,您可以使用data_files选项在该目录下创建一个目录。在源代码中将文件设为+x,权限将被保留。只需将如下内容
data_files=[(os.path.join(sys.prefix, 'libexec', 'myproject'), glob("libexec/*"))],在设置函数中,以及项目中的libexec目录中。
https://stackoverflow.com/questions/7007985
复制相似问题