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

标签 python linux setuptools

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

我可以使用 data_filespackage_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/

相关文章:

python - 在 GAE 的 Excel 文件 (xlwt) 中插入位图图像

linux - 无法从 Linux 上的共享文件夹运行 IIS7 站点

python - 使用 python_requires 要求 Python 2.7 或 3.2+

python - 如何访问 setuptools 的 install_requires 在 setup.py 中安装的模块?

python - 透明窗口,后面带有 pyqt 模糊

python - 在 sklearn 中确定 SVM 分类器的最有贡献的特征

java - JBoss中如何清除server.log?

linux - 直bash空参数无法识别

Python 无法导入嵌套层次结构中生成的扩展

python - 无法使用 Tensorflow 在 Chalice 上部署