kone
소미소프트

소미소프트

파이썬 스크립트 쪄왔는데 개추좀

07/13/2025, 18:52:16
정보
2450 views · 6 likes

은 구라고, 작성한 파이썬 스크립트를 배포하는 방법 그중에서도 런타임의 중요성에 대해서 소개하고 싶다.

많은 스크립트 키디들이 파이썬 스크립트를 개발새발 싸고 대충 배포하지만, 정작 그걸 실행하려는 사람들의 입장은 고려하지 않는 경우가 많다.

파이썬 런타임을 설치하고 "pip install -r requirements.txt && python your_script.py" 를 하는 간단한 과정도 일반적인 사용자는 cmd를 켜는것부터 막힌다.

여러분의 배포한다는 게시글이 조회수 1000을 기록해도 실제 다운로드 및 사용자 수는 5명 내외일거라는데 내 책상위의 2018 스타벅스 텀블러를 건다.


왜 런타임을 같이 배포해야 하는가

  • 의존성 관리: requirements.txt가 있다고 해도, 사용자 시스템에 있는 Python 버전이나 패키지 환경은 다를 수 있다. 또, node.js 보다는 덜하지만 파이썬도 많은 라이브러리들이 런타임 버전에 의존한다.

  • 초보자 배려: 가장 중요한 이유인데, 스크립트를 다운로드한 사람들은 동작에 관심이 있지 파이썬 런타임 구축에 관심은 없다. 또, 다음번 설치할 스크립트랑 라이브러리 버전 충돌이 날 가능성이 있는데 초보자는 이걸 해결할 방법이 없다.

  • 재현 가능성: 실행 환경이 고정돼야 문제가 재현되고, 디버깅도 가능하다. 문제 있다는 사용자랑 리플로 일문일답하기 피곤하지 않음?

  • 결론: 니가 만든 환경 자체를 같이 배포할수 있으면 좋다.


그럼 어케해야함?

  1. PyInstaller를 이용한 빌드 후 배포 혹은 Python embedded로 배포

    • 사용자의 Python 런타임 설치 없이 실행 가능한 형태로 만들어진다.

    • 다만 OS별로 따로 빌드해야 할수도 있다. 하지만 우리는 대부분 윈도우를 사용중이다.

    • PyInstaller로 빌드한 exe의 경우 일부 안티바이러스에 걸려 삭제된다. 

      • 많은 악성코드들이 PyInstaller로 빌드되어 배포되기 때문에 그렇다.

        • exe파일에 디지털 서명을 삽입하면 보안경고를 줄일수 있으나 유료 인증서도 필요하고 익명 배포에는 적합하지 않다.

    • Python embedded의 경우 스크립트만 배포하는 경우보다 파일도 많고 파일용량도 조금 더 크다.

      • 저장장치의 가격은 날이갈수록 점점 더 싸지고 있다. 용량이 좀 더 필요하다는건 단점으로 보기엔 미미하다.

      • 개인적으로 이쪽을 추천하고 싶음.

  2. venv + 스크립트화

    • python -m venv venv로 가상환경을 만들고, 거기서 설치된 .venv 디렉토리까지 압축해서 배포.

    • 진입점은 venv/bin/python your_script.py 같은 방식으로 shell script를 제공.

  3. Docker로 패키징하기

    • Dockerfile을 제공하고, docker run 명령어만으로 실행 가능하도록 만든다.

    • 사용자에겐 Python, pip, requirements 설치가 전혀 필요 없다.

    • 현업에서는 이 방법을 사용하지만 Docker라는 런타임이 추가적으로 필요하므로 초보자를 위한 방법을 모색하는 지금 완전히 배재해도 되는 방법이다.

스크립트를 공유하는 목적이 무엇이든, 실행조차 못하는 코드라면 의미가 없지않음?

스크립트 공유를 하지말라고 커트라인을 올리는거같아서 좀 찝찝하긴한데

누군가에게 인정받고 싶은 욕구에 의해서 배포한 스크립트니까 홍익인간의 정신을 발휘하여 조금 더 귀찮더라도 더 많은 개추를 받을수 있도록 하자.


1
6
2 comments
07/13/25
무지성배포는 exe지
07/14/25
nuitka 가 거짓양성 덜 뜬다던데 토탈은 비슷하게 뜨더라
[정보] 발매연기 안된다는 가정하에 26년 1월 라인업 좀 쩜
정보
Ghost
12/16/25 21001 33
[정보] 핸디맨 판타지 DL판연기 + DLC3도 같이 연기된듯한.
정보
Ghost
12/16/25 4670 7
[정보] 나츠네 -natsune- ~내가 사랑한 30일~ 발매일 확정
정보
Ghost
12/16/25 11166 13
[진척보고] Alice in cradle 251216 개발현황
정보
silver
12/16/25 5659 7
이런 씨팔...
정보
849871
12/16/25 7310 5
[진척보고] Alice in cradle [소화] 통째로 삼키는 피니시!!
정보
silver
12/16/25 4583 2
오늘 나온 꼴리는 스팀 신작 겜
정보
Ghost
12/16/25 5104 6
청아)마법 소녀 아스타릭스 발매일
정보
쩝냡
12/16/25 4712 14
[정보] 복수 alternative 후속작 2탄 개발중이네요
정보
Ghost
12/15/25 5489 4
사신상관 DLC 나올껀가봐
정보
돔마
12/15/25 6843 8
[정보] 음흉하고 한결같은 깡촌 오라버니와, 예스럽고 병약한 여동생 Append.04 발매일확정 1월1일
정보
Ghost
12/15/25 14870 25
[정보] 알사람들은 알겠지만 후속작 개발중인 게임 & 아직 개발 업데이트가 남아있는게임 정리
정보
Ghost
12/15/25 21387 48
[정보] 전생했더니 변태 손 - 발매 연기
정보
Ghost
12/15/25 6023 12
브레인 크리스탈 오늘 저녁 8시 시엔에서 체험판 공개
정보
wouwouer
12/14/25 4934 2
Aic 개발자 hinayua가 스텔라의 마법 오리지널 게임 재공개하였음
정보
silver
12/14/25 3214 2
언홀리 메이든 12월 19일 발매 확정
정보
codegreen
12/14/25 17746 32
여동생과 1개월간 12월 2주차 소식
정보
beatrirz
12/14/25 15445 26
스타메이커 무라마사박사의 해명글겸 앞으로의 방향
정보
melonjoa
12/14/25 5112 2
타락신관: 여동생과 악마의 혈통 DLC 제작결정
정보
asdadasdsa15112
12/13/25 15590 21
히토즈마이스터....제발 그만...
정보
류제로
12/13/25 8538 11
NTR 홀릭 출시일 공지 올라왔었네
정보
star-gazer
12/13/25 6671 10
로나료나로나료나로나 어려운 사람들을 위한 글
정보
agnet666
12/13/25 7078 13
로리바바 양어머니 마지막 편 발매 떴나?
정보
wwwwjh
12/13/25 4200 4
반찬 어플 서클 신작 소식
정보
minki
12/13/25 3872 2
NTR 홀릭 발매일정 또 밀렸네
정보
ㅇㅇ
12/13/25 6017 6
이세계 영주 게임 신작
정보
hamhomhi
12/13/25 5071 5
フォーリンウィッチーズ의 제5버전이 등장!
정보
lostarkfinder892
12/12/25 5121 2
[시모바시라 공방] 「마장영희 셀레녹시아」 제작 보고 60 - 씬 구현 & 셀레스포니아 5주년!
정보
날개 로봇
12/12/25 16520 29
스타메이커 ㅋㅋㅋㅋㅋㅋㅋㅋㅋㅋㅋㅋㅋㅋㅋ
정보
melonjoa
12/12/25 7322 10
[사지절단/고어] [정보] 팬박스에서 게임개발하던애 팔로우하고 보고있었는데 망고파티배급으로 게임예고페이지 나옴
정보
Ghost
12/12/25 6749 14