一些上下文:我有一些 C 代码,编译后我可以像这样在终端中调用:./my_excec -params
它生成一些文件,我在 python 中使用这些文件来生成图表和其他东西。
我想将 C 代码和 python 代码的所有内容都打包到 python 库中。C 代码不是 python 扩展(prolly 将在未来出现,但现在不是)。
我有一个 make 文件来编译 C 代码,我知道我可以像这样从 setup.py 调用它:
subprocess.call(['make', '-C', 'word2vec-src'])
我想要做的是:pip install my_module
应该调用makefile,编译C,以便用户可以调用二进制文件:my_excec -params
并且还能够在它周围导入python代码。
我遇到的问题是打包python包时。我正在使用这样的data_files
选项setup()
:data_files=[('bin', ['bin/binary_file'])],
这会将文件从 bin 移动到安装文件夹(在虚拟环境中),我可以调用它们。但是,当打包也将编译的文件放入 tarball 时,当我调用 pip install my_module` 时,会将编译的文件从我的计算机中放入。
谢谢。