2015-01-04 4 views
3

My Python 프로젝트는 C++ 프로그램에 의존합니다. 이 프로그램을 컴파일하고 가상 환경에 설치하는 Python 패키지를 만들고 싶습니다. 프로그램은 현재 PATH에 나타나야합니다.python setup.py를 사용하여 C++ 프로그램 컴파일 및 설치

ext_modules 옵션을 사용하여 소스 파일을 등록하려고했으나 .so 모듈을 만듭니다. 정확히 내가 필요한 것은 아닙니다.

이것을 달성 할 방법이 있습니까?

답변

0

파이썬에서 쉘 명령을 실행할 수 있습니다. 코드를 컴파일하기에 충분해야합니다.

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으로 일정해야합니다.이 디렉토리에 바이너리를 넣을 수는 있지만 시스템 전체에서 사용 가능하게하려면 필요합니다.

+1

감사합니다. 이 질문은 파이썬뿐만 아니라 setup.py의 사용에 관한 것입니다. – raacer