我有这个C SDK,我正在为它创建一个Python扩展。 C SDK文档说它期望在其工作目录中有ffmpeg
个可执行文件。我目前的项目结构是:
my-extension/
include/
sdk-file.h
sdk-file-2.h
lib/
sdk-lib.so
sdk-lib2.so
src/
my-extension.c
setup.py
我的setup.py:
from setuptools import setup
from setuptools.extension import Extension
setup(
name='my_extension',
version='develop',
ext_modules=[Extension(
'my_extension',
['src/my-extension.c'],
include_dirs=['include'],
library_dirs=['lib'],
libraries=['sdk-lib', 'sdk-lib2',],
runtime_library_dirs=['lib'],
)]
)
我的问题是,如何在我的扩展程序中打包可执行依赖项(在这种情况下为ffmpeg
)?可执行文件随SDK一起提供。
答案 0 :(得分:0)
我认为package_data
可用于此:
setup(
…
package_data={'': ['ffmpeg']},
…
)
package_data
是一个词典。键是子模块名称;空字符串表示包的根。值是列出命名子模块的文件模式的列表。请参阅docs。