2012-05-10 3 views
14
내가 파이썬 인터프리터 (2.7) 플러스 세트의 특정 버전을 설치할 수 있어야 Windows 용 설치 프로그램을 만들 필요가

세트 만들기 등 ipython, NumPy와, 팬더와 같은 의존성 등파이썬에 대한 Windows 설치 + 의존성

기본적으로 액티브 파이썬 배포판의 액티브 상태는 인터프리터 + deps를 포함한 단일 번들입니다.

내가 어쩌면 NSIS에보고를 제외하고이 시작하는 위치를 잘 모르겠어요 Windows 사용자 인하지 (즉, 어떤 도움이 될 수 있을까?).

+1

AFAIK, 아이디어는 py2exe 또는'cx_freeze'를 사용하여 실행 파일을 만들고 NSIS 또는 Inno Setup을 사용하여 설치 프로그램을 만듭니다. 하지만 절대로 시도하지 않았습니다. – KurzedMetal

+1

py2exe는 특정 파이썬 응용 프로그램을 exe 파일로 변환하여 "동결"시키지 않습니까? 목표는 바로 파이썬 iterpreter + 제 3 자 모듈 세트를 포함하는 번들 된 설치 프로그램을 만드는 것입니다. –

+0

그게 "동결"무엇 파이썬 실행 파일/DLL 및 사용 된 모듈을'.exe' 패키지에 번들입니다. 유일한 차이점은 시스템 전체에 파이썬을 실제로 설치하지 않고 물건을 망가 뜨리거나 실패하지 않는다는 것입니다 – KurzedMetal

답변

0

미리 정의 된 버전의 Python과 일부 종속 항목을 패키지하려면 NSIS와 AutoIt을 사용하는 것이 좋습니다.

NSIS는 다른 설치 프로그램을 포함하는 데 사용할 수 있지만, 파이썬 모듈의 특정 경우에, 그 설치의 일부는 무인 모드에서 사용할 수 없습니다. 이 문제를 해결하기 위해 AutoIt을 사용하여 키 입력을 시뮬레이션 할 수 있습니다. http://nsis.sourceforge.net/Embedding_other_installers

AutoIT 반입 웹 사이트 : http://www.autoitscript.com/site/

7

가 나는 또한 Tools/msi/msi.py에 파이썬 자료를 구축하는 데 사용하는 패키징 도구를 사용하는 것이 좋습니다 NSIS 다른 설치 프로그램을 삽입에 대한 추가 정보를 원하시면

. Python 소스 (또는 설치) 위에 추가 의존성을 풀고, 패키지하려는 모든 추가 파일을 선택하도록 msi.py를 조정하십시오. 이 문자열이 실제로는 별도의 Python 배포임을 나타내려면 표시 문자열을 조정해야합니다.

3

Windows의 경우 pynsist입니다. 그것은 내부적으로 NSIS를 사용하고 파이썬을 번들하므로 필요 없습니다. 유용한 예제가 있습니다 (예 : creating an installer for a PyGTK application).

면책 조항 : 나는 아직 관절염을 시도하지 않았지만 곧 적용 할 것입니다.