2013-03-15 2 views
11

질문python setup.py 설치의 일부로 스크립트 파일을 어떻게 실행합니까?

나는 스크립트를 등록 setuptoolssetup.py를 사용하는 방법을 알고있다. python setup.py install의 일부로 다른 스크립트 파일 (make 파일)을 실행하려면 어떻게해야합니까?

배경

나는 같은 것을 사용하는 것이 상상 : 난 그냥 setup() 내부에이 줄을 추가 할 수 있도록

os.system('make maketarget') #from somewhere in the package 

그러나 setuptools.setup가 딕셔너리를 수신/내가하는 스크립트를 필요 기본 패키지가 설치된 후 실행 setup.py install.

나는 setup.py에 명령을 추가 할 수 있지만이 스크립트는 설치 단계에서 호출되기를 바랍니다.

if sys.argv[-1] == 'install': 
    os.system('do something in the shell') 

를 그냥 설치 (후이 블록 배치)하지만, 어떻게 든이, 내가 찾을 필요가 발생하기 쉬운 오류도 (매우 pytonic보고하지 않습니다 나는 또한 기본 수

단지 배치하기 이 패키지가 정확히 설치된 위치 등)

답변

6

setuptools에서 기존 설치 명령을 서브 클래스 화하고 원하는 기능으로 확장 할 수 있습니다. 그런 다음 설치 기능에서 설치 명령으로 등록 할 수 있습니다.

from setuptools.command.install import install 

class MyInstall(install): 

    def run(self): 
     install.run(self) 
     print("\n\n\n\nI did it!!!!\n\n\n\n") 

# in the setup function: 
cmdclass={'install': MyInstall} 

인쇄 문 대신 스크립트를 호출하십시오.

파이썬 소프트웨어 (달걀 등)를 포장하는 방법은 다양합니다. 스크립트는 설치 단계에서 호출하는 경우에만 이러한 방법으로 호출되지 않습니다.

관련 문제