[컴][파이썬] pynsist - python 프로그램이 깔리지 않은 windows 사용자에게 배포하는 방법

nsis / pypi / pynsist / null install / null package


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
위의 경로에 .exe 가 생기고 이녀석을 배포 하면 된다.




댓글 없음:

댓글 쓰기