파이썬으로 작성한 프로그램을 다른 컴퓨터에서 실행하려면 해당 컴퓨터에 프로그램에서 사용되는 모든 의존성 패키지가 설치되어 있어야 합니다. 이를 위해 cx_Freeze는 파이썬 프로그램과 모든 의존성 파일들을 패키징하여 하나의 실행 가능한 파일로 만들어 줍니다.
cx_Freeze 설치하기
먼저 cx_Freeze를 설치해야 합니다. 파이썬 가상환경을 사용한다면, 해당 가상환경으로 전환한 후 다음 명령을 실행합니다.
pip install cx_Freeze
setup.py 파일 생성하기
cx_Freeze를 사용하여 패키지를 빌드하는 설정은 setup.py
파일에 작성합니다. 다음은 간단한 setup.py
파일 예시입니다.
from cx_Freeze import setup, Executable
# 실행 가능한 파일에 대한 정보를 설정합니다.
executables = [Executable("main.py", base=None, targetName="my_program.exe")]
# 의존성 패키지들을 포함시킬 패키지 리스트를 작성합니다.
include_packages = ["numpy", "pandas", "matplotlib"]
# 빌드 설정을 작성합니다.
build_options = {
"packages": include_packages,
"include_files": [],
"excludes": [],
"includes": [],
"bin_path_includes": [],
"bin_path_excludes": [],
"replace_paths": [],
}
# setup 함수를 호출하여 빌드 설정을 실행합니다.
setup(
name="My Program",
version="1.0",
description="My Python Program",
options={"build_exe": build_options},
executables=executables,
)
Executable
클래스에는 실행 가능한 파일의 정보를 설정합니다. base
파라미터를 None
으로 설정하여 운영체제에 맞는 기본적인 실행 환경을 사용하도록 합니다. targetName
을 통해 빌드된 파일의 이름을 설정할 수 있습니다. main.py
를 본인의 프로그램 파일로 변경해주세요.
include_packages
변수에는 프로그램에 포함시킬 의존성 패키지들을 작성합니다. 여기서는 numpy
, pandas
, matplotlib
를 예시로 들었습니다. 본인의 프로그램에서 필요로하는 패키지로 변경해주세요.
build_options
변수에는 패키징 옵션들을 작성합니다. packages
는 의존성 패키지들, include_files
는 프로그램에 포함할 파일들, excludes
는 배포에서 제외할 패키지들, includes
는 추가로 포함할 모듈들을 설정합니다. 필요에 따라 옵션들을 조정해주세요.
마지막으로 setup
함수를 호출하여 빌드 설정을 실행합니다. name
, version
, description
등의 정보를 설정한 후, options
파라미터에 빌드 설정을 전달하고, executables
파라미터에 실행 가능한 파일들의 정보를 전달합니다.
프로그램 빌드하기
setup.py
파일이 준비되었다면, 다음 명령을 실행하여 프로그램을 빌드할 수 있습니다.
python setup.py build
빌드가 성공적으로 완료되면 build
디렉토리에 실행 가능한 파일과 관련 파일들이 생성됩니다. 이 파일들을 다른 컴퓨터에 복사하여 실행하면, 해당 컴퓨터에 파이썬과 의존성 패키지들을 별도로 설치하지 않고도 프로그램을 실행할 수 있습니다.
결론
cx_Freeze를 사용하여 파이썬 프로그램에 자동으로 의존성 패키지를 포함시키는 방법에 대해 알아보았습니다. 의존성 패키지들을 패키징하여 실행 가능한 파일로 만들면, 다른 컴퓨터에서도 프로그램을 실행하기 위해 필요한 패키지 설치를 줄일 수 있습니다.