programing

파이썬 스크립트를 이진 실행 파일로 컴파일하는 방법

batch 2023. 7. 30. 17:32
반응형

파이썬 스크립트를 이진 실행 파일로 컴파일하는 방법

Python 스크립트를 Windows 실행 파일로 변환해야 합니다.

Python 2.6을 설치하여python26.

스크립트를 하나 만들어 보관했습니다.C:\pythonscript이 폴더 안에는 두 개의 파일이 있습니다.

Setup.py그리고.oldlogs.py(이 파일은 덮개가 필요합니다)

setup.py코드는

from distutils.core import setup
import py2exe

setup(console=['oldlogs.py'])

oldlogs.py 을 exe 파일로 변환하려면 어떻게 해야 합니까?

또는 py2exe 대신 PyInstaller를 사용합니다.여기 좋은 출발점이 있습니다.또한 PyInstaller를 사용하여 리눅스 및 Mac용 실행 파일을 생성할 수 있습니다.

PyInstaller를 사용하여 당면한 문제를 해결하는 방법은 다음과 같습니다.

pyinstaller oldlogs.py

도구 설명서에서 다음을 참조하십시오.

PyInstaller는 myscript.py 및 다음을 분석합니다.

  • 스크립트와 동일한 폴더에 myscript.spec을 기록합니다.
  • 스크립트가 없는 경우 스크립트와 동일한 폴더에 폴더 빌드를 만듭니다.
  • 빌드 폴더에 일부 로그 파일 및 작업 파일을 씁니다.
  • 스크립트가 없는 경우 스크립트와 동일한 폴더에 dist 폴더를 만듭니다.
  • dist 폴더에 myscript 실행 파일 폴더를 씁니다.

dist 폴더에서 사용자에게 배포하는 번들 앱을 찾을 수 있습니다.

다음 명령을 사용하여 간단한 파이썬 스크립트를 exe로 변환할 수 있는 PyInstaller를 추천합니다.

utils/Makespec.py [--onefile] oldlogs.py

프로그램을 만드는 것입니다.최종 exe를 구축하기 위한 구성인 사양 파일.다음 명령은 구성 파일에서 exe를 빌드합니다.

utils/Build.py oldlogs.spec

자세한 내용은 여기에서 확인할 수 있습니다.

다른 SO 답변이 이 질문과 연결되므로 PyOxidizer에 다른 옵션이 있다는 점에 주목할 필요가 있습니다.

이 유틸리티는 pyinstaller와 동일한 방식으로 작동하지만 핵심 기능을 요약하면 다음과 같은 몇 가지 추가 기능이 있습니다.

  • 모듈을 메모리에 제로 복사 로드하는 기능을 갖춘 기본적으로 모든 패키지의 단일 바이너리와 사용 시 임시 디렉토리로 압축을 푸는 pyinstalleronefile모드
  • 정적 연결 이진 생성 기능

(또 다른 장점은pyoxidizer그것은 그것이 고통받지 않는 것처럼 보인다는 것입니다.GLIBC_X.XX not found대상 시스템보다 최신 버전의 glibc를 사용하는 시스템에서 바이너리를 만든 경우 pyinstaller에서 발생할 수 있는 문제입니다.

전체적으로 PyOxidizer는 PyOxidizer보다 훨씬 사용하기 쉬우며, 이는 종종 구성 파일에 약간의 복잡성을 필요로 하며, Rust로 작성되어 PyOxidizer가 Python 세계에서 그다지 친숙하지 않은 구성 파일 형식을 사용하기 때문에 PyOxidizer가 더 고급스러운 작업을 수행합니다.특히 단일 바이너리를 생성하려는 경우(파이인스톨러의 기본값이 아님).

# -*- mode: python -*-

block_cipher = None

a = Analysis(['SCRIPT.py'],
             pathex=[
                 'folder path',
                 'C:\\Windows\\WinSxS\\x86_microsoft-windows-m..namespace-downlevel_31bf3856ad364e35_10.0.17134.1_none_50c6cb8431e7428f',
                 'C:\\Windows\\WinSxS\\x86_microsoft-windows-m..namespace-downlevel_31bf3856ad364e35_10.0.17134.1_none_c4f50889467f081d'
             ],
             binaries=[(''C:\\Users\\chromedriver.exe'')],
             datas=[],
             hiddenimports=[],
             hookspath=[],
             runtime_hooks=[],
             excludes=[],
             win_no_prefer_redirects=False,
             win_private_assemblies=False,
             cipher=block_cipher)
pyz = PYZ(a.pure, a.zipped_data,
             cipher=block_cipher)
exe = EXE(pyz,
          a.scripts,
          a.binaries,
          a.zipfiles,
          a.datas,
          name='NAME OF YOUR EXE',
          debug=False,
          strip=False,
          upx=True,
          runtime_tmpdir=None,
          console=True )

언급URL : https://stackoverflow.com/questions/12339671/how-to-compile-python-script-to-binary-executable

반응형