一些背景:我有一些C代码编译的时候,我可以在这样的终端呼叫:./my_excec -params
它生成我使用python中生成图表的某些文件,其他的东西。的Python setup.py调用生成文件不包括二进制文件
我想在Python库收拾一切都在C代码和Python代码。 C代码不是一个Python扩展(将会在未来发展,但现在不是)。
我有一个make文件编译的C代码,我知道我可以从这样的setup.py调用它: subprocess.call(['make', '-C', 'word2vec-src'])
我希望能够做的是:pip install my_module
这应该叫makefile文件,编译C,因此用户可以调用二进制文件:my_excec -params
,也可以导入周围的Python代码。
我遇到的问题是包装的Python包时。我在setup()
中使用data_files
选项,如下所示:data_files=[('bin', ['bin/binary_file'])],
这将文件从bin移动到安装文件夹(在虚拟环境中),我可以调用它们。但是,当打包也将编译的文件放在tarball中,并且当我打电话给pip时,my_module`会从我的电脑中放入编译好的文件。
谢谢。
这真的很有帮助。你有链接到你的完整源代码的地方吗?我对你如何构建你的Makefile感兴趣。 –