是否可以使安装工具在安装时将二进制设置为可执行



我有三个二进制可执行文件,它们是为OSX,Windows和Linux编译的。这将由pythonscript调用,我的问题是该软件包是在Windows机器上构建的,该机器从OSX和Linux的二进制文件中剥离了文件属性。我正在寻找一种使setuptools在将文件复制到python包时将可执行文件属性设置为文件的方法。

所以我现在安装软件包的是MANIFEST.in包含以下内容的文件:

recursive-include foo/bar/lib *%

其中包括三个文件夹Linux,OSX和Windows

然后setup.py

from setuptools import setup, find_packages
setup(name='foobar',
      version='0.1',
      packages=find_packages(),
      include_package_data=True,
      install_requires=['foo','bar'],
      entry_points='''
              [console_scripts]
              foobar=foobar.cli:cli
      ''',
      )

我也用过

package_data={
      'lib': ['lib/*'],
   },
   include_package_data=True,

之前setup.py,但我转向了 Manifest,因为我希望它与bdistsdist一起工作。

所以我正在寻找的是确保在调用文件夹内python install .时安装的二进制文件上设置-x标志。因为这不是作为 pip 包分发的。

你不能,不可能。 pip是一个相当简单的包管理器,旨在安装Python库和随附Python脚本。

人们尝试技巧,但它们不起作用。

你需要一个真正的包管理器。

os.chmod(path_to_executable, <executable attribute>添加到setup.py至少对我有用。

相关内容

  • 没有找到相关文章

最新更新