在我的鸡蛋部署一些支持二进制文件时,如何让setuptools设置可执行文件?

我正在使用setuptools创建一个鸡蛋,我想在其中包含一些支持二进制文件,最好安装在egg目录中.

我可以使用data_files或package_data包含这些文件,但是在部署它们时不会设置可执行位.

或者,我可以使用脚本,但是他们将(默认情况下)部署到所有其他包共享的公共目录,我想避免.

如何使用我的包部署这些二进制文件并确保其文件模式得以保留?

解决方法:

Linux中放置支持二进制文件的通常(标准)位置是/usr/libexec.因此,您可以使用data_files选项在其下创建目录.在源中创建文件x,并保留权限.只是把类似的东西

data_files=[(os.path.join(sys.prefix, 'libexec', 'myproject'), glob("libexec/*"))],

在您的设置功能和项目中的libexec目录中.

上一篇:Python发行版的用例有哪些?


下一篇:entrytools entry_points / console_scripts在shebang中有特定的Python版本