[라즈베리파이] 라즈베리파이 용 PyInstaller Bootloader 설치

2022. 5. 16. 20:21프로젝트 로그/테스트x솔루션 JIG 개발기

반응형

라즈베리파이에서 실행되는 Python Application을 배포 할 때, Python Code가 통채로 보이는 것을 원치 않아 패키지 형태 및 실행 파일 형태로 배포 하고 싶었다.

 

찾아 보니, PyInstaller를 사용하면 구현한 Python 프로그램을 실행 파일 형태로 만들 수 있다. 본 글에서는 ARM Core(라즈베리파이4 Model B)에서 동작 할 수 있는 Python 실행 파일을 만드는 방법에 대해 설명한다.

 

※ PC 환경에서는 별 고민 없이 PyInstaller 명령을 사용하면 실행 파일을 만들 수 있다. 하지만 ARM Core 환경에서는 해당 실행 파일을 만들기 위한 PyInstaller 및 Python Module 들이 ARM Core 용으로 Cross Compile 되어 있어야 했다.

하지만 라즈베리파이에 설치되어 있는 PyInstaller에는 ARM Core용으로 Cross Compile 된 자원들이 없는 관계로 ARM용 PyInstaller Bootloader 설치 방법 부터 설명 한다. 

 

사전 작업 : Linux-32bit-ARM용 PyInstaller의 Bootloader 설치

기존 RaspberryPi에 설치 되어 있는 PyInstaller에는 Linux-32bit-ARM용 Bootloader가 없다. 이로 인해, PyInstaller로 실행 파일을 만들 때 해당 폴더가 없다는 이유로 에러가 출력 된다.

 

이를 해결 하기 위해서는 아래 1. Build the Bootloader 절차를 수행 하면 된다.

 

1. Build the bootloader

git clone https://github.com/pyinstaller/pyinstaller 
# Alternatively download the zip from https://github.com/pyinstaller/pyinstaller/releases
cd pyinstaller/bootloader
python ./waf distclean all # or python3
cd ../PyInstaller/bootloader/
ls

위 설치가 완료 되면, PyInstaller/bootloader 폴더에 Linux-32bit-arm 폴더가 생성된다.

 

2. Copy the bootloader

Linux-32bit-arm 폴더를 PyInstaller가 접근 하려 하는 폴더에 복사 한다.

$ pwd
/home/pi/pyinstaller/PyInstaller/bootloader

$ cp -rf Linux-32bit-arm /home/pi/.local/lib/python3.9/site-packages/PyInstaller/bootloader/

 

반응형