파이썬 스크립트를 이진 실행 파일로 컴파일하는 방법
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와 동일한 방식으로 작동하지만 핵심 기능을 요약하면 다음과 같은 몇 가지 추가 기능이 있습니다.
- 모듈을 메모리에 제로 복사 로드하는 기능을 갖춘 기본적으로 모든 패키지의 단일 바이너리와 사용 시 임시 디렉토리로 압축을 푸는 pyinstaller
onefile
모드 - 정적 연결 이진 생성 기능
(또 다른 장점은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
'programing' 카테고리의 다른 글
이름이나 유형에 특정 언어 연결이 있다는 것은 무엇을 의미합니까? (0) | 2023.07.30 |
---|---|
Invoke-WebRequest : '헤더' 매개 변수를 바인딩할 수 없습니다. (0) | 2023.07.30 |
JavaScript를 사용한 서버 폴링 (0) | 2023.07.30 |
aspx 페이지 뒤에 있는 코드의 변수를 호출하는 방법 (0) | 2023.07.30 |
Node.js가 지원하는 인코딩 목록 (0) | 2023.07.30 |