【发布时间】:2019-04-24 13:36:03
【问题描述】:
我有三个针对 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,因为我希望它可以与 bdist 和 sdist 一起使用。
所以我正在寻找的是确保在文件夹内调用python install . 时安装的二进制文件上设置了-x 标志。因为这不是作为 pip 包分发的。
【问题讨论】:
标签: python setuptools setup.py