当使用我的 Egg 部署一些支持二进制文件时,如何让 setuptools 设置可执行位?

发布于 2024-11-28 23:21:28 字数 253 浏览 1 评论 0原文

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

我可以将这些文件包含在 data_filespackage_data 中,但是在部署它们时不会设置可执行位。

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

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

I'm using setuptools to create an egg and I would like to include some supporting binaries with it, preferably to be installed in the egg directory.

I can include these files with data_files or package_data however the executable bit is not set when they are deployed.

Alternatively, I can use scripts but then they will (by default) be deployed to a common directory that is shared by all other packages, which I would like to avoid.

How can I deploy these binaries with my package and ensure their file modes are preserved?

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(1

爱情眠于流年 2024-12-05 23:21:28

在 Linux 中放置支持二进制文件的通常(标准)位置是 /usr/libexec。因此,您可以使用 data_files 选项在该目录下创建一个目录。在源中使文件 +x 并保留权限。只需在您的设置函数中添加类似的内容

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

,并在项目中添加一个 libexec 目录即可。

The usual (standard) place to put supporting binaries in Linux is in /usr/libexec. So you can make a directory under that with the the data_files option. Make the files +x in your source and the permissions should be preserved. Just put something like

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

In your setup function, and a libexec directory in your project.

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文