pynsist 1.5 에서 필요한 python version : Python 3.3 or above, or Python 2.7.
편리한 점은 installer 를 만들 때 uninstall.exe 도 같이 만들어 지고, 추후에 설치될 때도 같이 설치된다.
pynsist 설치
위의 경로를 참고하면 된다.
간단하게 pip install pynsist 를 하면 된다.
\> pip install pynsist
pynsist 를 사용하면 Python MSI 를 download 받아서 install 파일에 같이 묶어서 배포한다.
pynsist 사용 방법
여기서는 실질적으로 installer 를 하나 만들어 보자. 아래처럼 file 들을 모아놓자.app.py
def main(): print "started" raw_input() if __name__ == '__main__': main()
install.cfg
[Application] name=namhapp version=1.0 # How to launch the app - this calls the 'main' function from the 'myapp' package: #entry_point=app:main script=runserver.py icon=myapp.ico console=true [Python] version=2.7.8 [Include] # Importable packages that your application requires, one per line packages = requests # Other files and folders that should be installed #files = LICENSE # data_files/
entry_point / script / target
3개중에 한개만 사용해야 한다. script 를 사용하는 것이 가장 편한 듯 하다. script 는 자신이 실행할 때 쓰는 script 파일명을 적어주면 된다. 그러면 pynsist 가 직접 .py 를 만들지 않고 그 script 를 copy 해서 놓는다. 단 주의할 점은 아래부분을 자신이 만든 .py 에 넣어줘야 한다. 그렇지 않으면 package 경로가 달라져서, import error 가 날 것이다.#!python2.7.8 import sys sys.path.insert(0, 'pkgs')
첫줄의 #!python2 이 py launcher 를 이용해서 .py 를 interpreter path 가 설정되어 있지 않아도 바로 실행하게 해주는 것이다.
package
여기서 한가지 불편(?)한 것은 필요한 package 를 자신이 전부 packages 에 적어넣어야 한다. 기본적으로 python 이 가지고 있는 standard library 말고 현재 자신의 application 만이 사용하는 package 만 적으면 된다. 자신이 만든 package 도 적어야 한다.NSIS installer
makensis 를 사용하기 때문에 NSIS installer 를 설치해야 한다.위의 경로에서 NSIS installer 를 다운로드 받고 설치하자.
NSIS installer 를 설치하지 않고 pynsist insatll.cfg 를 실행한 경우
c:\Users\namhadmin\Documents\mine\programming\flask\pynsist-test>"c:\Python27\python.exe" "c:\Python27\Scripts\\pynsist" install.cfg Downloading Python MSI... Downloading PyLauncher MSI... Copying packages into build directory... Writing NSI file to build\nsis\installer.nsi makensis was not found. Install NSIS and try again. http://nsis.sourceforge.net/Download
exe path
- ...\build\nsis\namhapp_1.0.exe
댓글 없음:
댓글 쓰기