使用python setup.py编译并安装C ++程序

时间:2015-01-04 18:59:53

标签: python c++ virtualenv setuptools distutils

我的Python项目依赖于C ++程序。我想创建一个python包,将该程序编译并安装到虚拟环境中。该程序应出现在当前路径中。

我尝试使用ext_modules选项注册源文件,但它会创建.so模块。不完全是我需要的。

有没有办法实现这个目标?

1 个答案:

答案 0 :(得分:0)

你可以在python中运行shell命令,这应该足以编译代码。

import os
os.system ("make -C /path/to/makefile")

您还可以将结果对象文件作为子进程运行;

import subprocess
theCProcess = subprocess.Popen('/path/to/object/file')

theCProcess = subprocess.Popen(['/path/to/object/file', 'some', 'extra', 'arguments'])

你对PATH的意思是什么?你的意思是bash PATH变量?通常,它应保持为/usr/local/bin:/usr/bin:/bin不变,您可以将二进制文件放在这些目录中,但前提是您希望它在系统范围内可用。