我在C++中编写了一个Python扩展模块。
我计划用setuptools分发这个模块。
将为32位和64位窗口(使用setup.py bdist_egg
构建)提供二进制发行版,并为类UNIX平台(使用setup.py sdist
构建)提供源发行版。
我计划在BSD许可下授权这个模块。 在源代码树中,文件LICENSE.txt与setup.py一起位于顶部文件夹中。 如何将其包含在安装包中?
我尝试了以下setup.py脚本:
from setuptools import setup, Extension
from glob import glob
setup(
name = 'Foo',
version = '0.1.0',
ext_modules = [Extension('Foo', glob('Source/*.cpp'))],
package_data = {'': ['LICENSE.txt']}
)
它不工作,许可证文件不包含在安装包中。 可能是因为setup.py文件没有定义任何包, 只有一个扩展模块。
我该怎么解决?
使用^{} :
两句话:
您的产品不需要直接附带许可证,您可以使用distutils中的license metadata来指定这一点。
不要在代码中使用单引号和双引号:)
使用METADATA.in文件,许可证可以自动包含在源包和控制盘中:
元数据.in
include README.md include COPYING
请查看以下示例: https://github.com/node40/smsh
写一个
setup.cfg
文件,并在其中指定:要使其工作,似乎需要安装车轮。即:
如果您已经安装了
wheel
,但它不起作用,请尝试更新它:然后,当通过
pip install <path>
安装包时,将包含许可证文件。相关问题 更多 >
编程相关推荐