2011-01-16 3 views
2

--help 나 --version과 같은 명령 행 인자를 사용하여 호출 할 때 프로그램 이름, 버전 번호 및 작성자를 출력하는 파이썬 스크립트가 있습니다. 현재이 정보는 python 스크립트 자체에 하드 코딩되어 있습니다. 그러나 나는이 모든 정보가 setup.py에 이미 존재하도록 응용 프로그램을 빌드/패키징하기 위해 distutils를 사용합니다. distutils가 버전과 저자명/이메일 같은 메타 데이터를 작성된 Python 스크립트에 작성하게하여 setup.py 파일에서이 데이터를 유지하기 만하면됩니까? 아니면 그런 것들을 다루는 다른 표준 메커니즘이 있습니까?배포시 파이썬 스크립트의 심볼 바꾸기

답변

3

다른 방법으로 수행하십시오. 스크립트에 필요한 버전 번호, 작성자 이름 및 기타 메타 데이터를 스크립트 자체에 추가하십시오. 그런 다음 import 또는 execfile()의 스크립트를 setup.py에 입력하고 스크립트에 정의 된 메타 데이터를 setup() 함수의 인수로 사용하십시오.

0

언제나 sed를 사용할 수 있습니다. sed의 man 페이지는 Here입니다.

윈도우 용 (윈도우를 사용하는 경우)은 바로 Here입니다. 대개 Linux, Unix 및 OS X에 사전 설치되어 제공됩니다.

+0

그러나 이것은 비단뱀 distutils와는 아무런 관련이 없습니다. 나는 ./setup.py install을하기 전에 특별한 명령어를 사용하고 싶지 않다. – kayahr

2

패키지의 루트에 __version__.py 파일이 있고 setup.py로 빌드 할 때 만들고 --help 또는 --version에 대한 버전 정보를 가져옵니다. 그것이 Mercurial의 역할입니다.

+0

네, 이것이 최선의 방법입니다. 보너스로, version.py가'version = '0.1.2'와 같은 단순한 할당만을 포함하고 있다면, 파일은 bash에 의해 파싱 될 수 있습니다. 이것은 bash에 의해 해석 될 필요가있는 상황에서 유용합니다 패키지의 버전 번호를 확인하십시오. – bstpierre

관련 문제