我正在使用 setuptools 创建一个 egg,我想包含一些支持二进制文件,最好安装在 egg 目录中。
我可以使用 data_files
或 package_data
包含这些文件,但是在部署它们时未设置可执行位。
或者,我可以使用脚本
,但它们将(默认情况下)部署到一个由所有其他包共享的公共(public)目录,我想避免这种情况。
如何使用我的包部署这些二进制文件并确保保留它们的文件模式?
最佳答案
在 Linux 中放置支持二进制文件的通常(标准)位置是 /usr/libexec
。因此,您可以使用 data_files 选项在该目录下创建一个目录。在您的源代码中制作文件 +x 并且应该保留权限。就放点像
data_files=[(os.path.join(sys.prefix, 'libexec', 'myproject'), glob("libexec/*"))],
在您的设置函数中,以及您项目中的 libexec
目录。
关于python - 在使用我的 egg 部署一些支持二进制文件时,如何让 setuptools 设置可执行位?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7007985/