티스토리 뷰

python 버전 중에 executable installer 가 아닌, embed 버전이 있습니다.


https://www.python.org/ftp/python/3.6.8/python-3.6.8-embed-win32.zip

이런 식으로 배포를 하는 버전이 있는데요, 이는 파이썬을 설치하지 않고 최소한으로 실행하기 위한 버전으로 생각 하시면 됩니다.


주로 다른 소프트웨어에서 python을 embed하기 위해서 사용하는 버전이라고는 알고 있습니다.


이를 사용해서 파이썬 스크립트 배포할 때 활용할 수 있습니다.


우리가 .py 스크립트를 배포할 때, 사용하려면

1. 파이썬 설치하세요

2. 환경변수 설정을 어쩌구 저쩌구 해주세요.

3. 패키지 받으세요

4. python ~ 어쩌구 명령을 실행해주세요

5. 만약 pyinstaller 버전을 배포한다해도 커다란 용량은 덤 ...


하는 아주 번거로운 배포절차가 남아있습니다. embed python 을 활용하면 조금이나마 이를 해결 할 수 있을 것이라 생각은 됩니다...? (pyqt5 같은 고용량 라이브러리는 답이 없어요)


embed python 을 받아서 압축을 풀면 아주 심플하게 되어있습니다. 하지만 python.exe 를 실행하면 우리가 아는 그 파이썬이 실행이 됩니다. (다만 라이브러리는 아주 빈약 하고 기본 라이브러리만 있습니다.)


우리가 만든 스크립트를 배포하기위해서는, 활용한 라이브러리 또한 넣어줘야 합니다.

일반적으로 Lib\site-packages 경로에 넣어주면 되고요, 추가적으로 python36._pth 파일을 삭제해 주시면 됩니다. python36._pth은, 해당파일에서 정의된 경로만 sys.path에 추가시키게 됩니다. 즉 site-package는 추가가 안되어버립니다.


참고)

1. Lib\site-packages 는 우리가 pip install blahblah 를 통해 설치한 외부 패키지가 저장되는 경로입니다.

2. pyinstaller는 .py 스크립트를 exe로 만들어주는 툴 입니다.


이렇게 해서 최소한으로 용량을 꾸려서 배포할 수 있지 않을까 생각은 해봅니다만 (용량 최적화는 직접 해주셔야 할 겁니다.....) ............... 

쉽진 않겠네요.


물론 이정도까지 알아보신분은... .bat 을 통해서 실행조차 마우스 클릭으로 되게끔은 할 수 있으실 거라 믿습니다 ^^;

뭐 요즘은 가상환경 세팅 통해서 하시는 경우가 많다고 합니다만, 파이썬을 전혀 쓰지 않는 도메인에서 배포하기 위한 최선의 노력일 것 같긴 합니다.


아래 파일은 제가 간단하게 사용할 win32api 만 패키지를 포함시킨 거에요.

python-3.6.8-embed-win32.7z





댓글
공지사항
최근에 올라온 글
최근에 달린 댓글
Total
Today
Yesterday
링크
«   2024/05   »
1 2 3 4
5 6 7 8 9 10 11
12 13 14 15 16 17 18
19 20 21 22 23 24 25
26 27 28 29 30 31
글 보관함