2017-02-12 2 views
2

현재 파이썬 프로그램을 작성 중이고 일부 사용자 (및 개발자)에게 배포하고 싶습니다. 나는 프로그램을 최소한으로 실행하는 데 필요한 단계의 수를 줄이고 싶다.파이썬 - 소스 배포판 패키징

사용 사례가 비교적 간단합니다. 과정/도구/무엇을 원하는데 :

가) 응용 프로그램이 작동하는 데 필요한 패키지 목록을 다운로드하십시오.

B) Python 스크립트 목록을 순차적으로 실행합니다 (예 : 데이터베이스 생성 후 마이그레이션 실행).

나는 distlib가 이미이 작업을 수행하고 있음을 알고 있습니다. 그러나 설명서의 종류가 혼동스럽고 스크립트를 설치하는 API가 있지만 스크립트를 자동으로 실행하는 것은 아닙니다.

이상적으로는 스크립트 목록과 종속성 목록을 지정하고 프로그램에서 자동으로 설치하게하십시오.

+1

다음을 읽어 보시기 바랍니다. http://stackoverflow.com/questions/17806485/execute-a-python-script-post-install-using-distutils-setuptools, https://github.com/lupien/pyHegel /blob/master/setup.py – fedepad

답변

1

아마도이 문제를 해결하는 가장 좋은 방법은 make을 Makefile (https://www.gnu.org/software/make/)과 함께 사용하는 것입니다.

distlib은 setup.py 파일을 통해 일부 Python 스크립트에 이름을 지정하여 더 읽기 쉽게 만들 수 있습니다. 또한 작업을 순차적으로 실행하려면 make 대상/종속성 시스템을 사용할 수 있습니다.

파이썬에 충실하려면 Luigi (https://luigi.readthedocs.io/en/stable/)를 사용할 수도 있지만 과장된 것 같습니다.

0

좋아요, 그래서 인터페이스를보고 싶었던 방식으로 내 자신의 글을 끝내기 시작했습니다. 전체 스크립트는 여기에서 찾을 수 있습니다

from installtools import setup 

scripts = ['create_database.py', 'run_migrations.py'] 

setup("Shelob", "requirements.txt", scripts) 

: PIP 공개 API를 가지고 있지 않기 때문에 https://gist.github.com/fdemian/808c2b95b4521cd87268235e133c563f

이 (and isn't likely to have one in the near future) 스크립트를 호출하는 서브 프로세스 API를 사용하는 응용 프로그램을 설치하는 코드는 다음과 같습니다 :

은 지정된 파이썬 스크립트, 하나 하나를 호출, 그 후 [requirements_file_path]

을 -r 설치 PIP. 그것은 아마도 매우 강력하지는 않지만, 임시 해결책으로 트릭을 수행하는 것 같습니다.