Python 용 .py를 .exe로 어떻게 변환 할 수 있습니까?


126

상당히 간단한 Python 프로그램을 실행 파일로 변환하려고하는데 제가 찾고있는 것을 찾을 수 없었기 때문에 몇 가지 질문이 있습니다 (Python 3.6을 실행 중입니다).

지금까지 찾은 방법은 다음과 같습니다.

  1. 이전 버전의 Python을 다운로드하고 사용 pyinstaller/py2exe
  2. Python 3.6에서 가상 환경을 설정하여 1을 수행 할 수 있습니다.
  3. Python to C ++ 변환기를 다운로드하고 사용합니다.

다음은 내가 시도한 것 / 내가 겪은 문제입니다.

  • pyinstaller필요한 다운로드 전에 설치 했기 때문에 (pypi-something) 작동하지 않았습니다. 필수 파일을 다운로드 한 pyinstaller후에도 여전히 인식되지 않습니다.
  • Python 2.7에서 virtualenv를 설정하는 경우 실제로 Python 2.7을 설치해야합니까?
  • 비슷하게, 내가 보는 유일한 python to C ++ 변환기는 Python 3.5까지만 작동합니다. 시도 할 경우이 버전을 다운로드하여 사용해야합니까?

4
왜 이것이 반대 투표인지 확실하지 않지만 (아마도 도구 권장 사항이 SO의 주제에서 벗어 났기 때문에)이 질문은 향후 다른 사람들에게 유용 할 것입니다. 유사 이전의 질문은, 예를 들어 논외로 표시되지 않은 stackoverflow.com/questions/2136837/...
Chris_Rands

답변:


127

Python 3.6에서 .py를 .exe로 변환하는 단계

  1. Python 3.6을 설치합니다 .
  2. cx_Freeze를 설치합니다 (명령 프롬프트를 열고 pip install cx_Freeze.
  3. idna를 설치합니다 (명령 프롬프트를 열고 pip install idna.
  4. .py라는 프로그램을 작성하십시오 myfirstprog.py.
  5. setup.py스크립트의 현재 디렉터리에 이름이 지정된 새 Python 파일을 만듭니다 .
  6. 에서 setup.py파일, 다음과 저장 코드를 복사합니다.
  7. Shift 키를 누른 상태에서 동일한 디렉토리를 마우스 오른쪽 버튼으로 클릭하면 명령 프롬프트 창을 열 수 있습니다.
  8. 프롬프트에서 다음을 입력하십시오. python setup.py build
  9. 스크립트에 오류가 없으면 응용 프로그램을 만드는 데 문제가 없습니다.
  10. 새로 생성 된 폴더를 확인합니다 build. 다른 폴더가 있습니다. 해당 폴더 내에서 응용 프로그램을 찾을 수 있습니다. 그것을 실행하십시오. 자신을 행복하게 만드십시오.

블로그 에서 원본 스크립트를 참조하십시오 .

setup.py :

from cx_Freeze import setup, Executable

base = None    

executables = [Executable("myfirstprog.py", base=base)]

packages = ["idna"]
options = {
    'build_exe': {    
        'packages':packages,
    },    
}

setup(
    name = "<any name>",
    options = options,
    version = "<any number>",
    description = '<any description>',
    executables = executables
)

편집하다:

  • 대신 4 단계 에서 만든 확장 파일 이름을 myfirstprog.py입력해야 .py합니다 .
  • 각 포함해야 import당신의 에드 패키지 .pypackages목록 (예 : packages = ["idna", "os","sys"])
  • any name, any number, any descriptionsetup.py파일이 적절하게 변경해야합니다 (예 : 동일하게 유지 안 name = "<first_ever>", version = "0.11", description = '')
  • import시작하기 전에 에디션 패키지가 설치되어 있어야합니다 8 단계 .

10
'독립형'실행 파일로 만드는 방법이 있습니까? 귀하의 기사에서 조언 한대로 진행하면 exe.win.32-3.6 폴더로 끝납니다. 지원하는 파일과 디렉토리 ( 'collections /', 'email'등)로 가득 차 있습니다. 간단한 인쇄 ( 'hello')에는 끔찍합니다. 다른 파일이 필요없이 다른 컴퓨터에서있는 그대로 실행될 단일 실행 파일을 만들고 싶습니다. 이를위한 빌드 옵션이 있습니까?
FanaticD


2
@FanaticD Python은 최선의 선택이 아닙니다. Cython (일하는 악몽) 또는 Nuitka가 최선의 방법입니다. 그러나 이러한 작업을 수행하는 것은 그 자체로 성취입니다.
Tetora

이것이 Python 3.5.3에서 작동합니까? (Debian 9 Stretch의 마지막 안정 버전).
Gerard

어떻게 가져 오나요 from sklearn.externals import joblib? 편집, 2 단계에서 언급했듯이
Jack

77

Python 3.6은 PyInstaller에서 지원됩니다.

Python 폴더에서 cmd 창을 엽니 다 (명령 창을 열고 cdShift 키를 누른 상태에서 Windows 탐색기에서 마우스 오른쪽 단추로 클릭하고 '여기에서 명령 창 열기'를 선택합니다). 그런 다음 입력하십시오

pip install pyinstaller

그리고 그게 다야.

사용하는 가장 간단한 방법은 명령 프롬프트에 입력하는 것입니다.

pyinstaller file_name.py

사용 방법에 대한 자세한 내용은 이 질문을 참조하십시오 .


4
방금 파이썬 3.7.0으로 테스트했습니다. 많은 경고가 있지만 성공적으로 컴파일되어 Windows 10에서 실행 중
Ole_S

2
나는 파이썬 3.5.0없이 경고 나 오류로 프로그램을 컴파일, 그것은 예상대로 실행됩니다
Menotdan

아무도 Pyinstaller에서 중요한 것이 무엇인지 알고 있습니까? Windows 10의 exe 빌드가 Windows 8에서 작동합니까? 또는 Windows 10 32 비트 빌드가 Windows 10 64 비트 시스템에서 작동합니까?
Derik81

27

GitHub 에는 auto-py-to-exe라는 오픈 소스 프로젝트 가 있습니다 . 실제로 내부적으로도 PyInstaller를 사용하지만 PyInstaller를 제어하는 ​​간단한 GUI가 있기 때문에 편안한 대안이 될 수 있습니다. 다른 솔루션과 달리 독립 실행 형 파일을 출력 할 수도 있습니다. 또한 설정 방법을 보여주는 비디오 도 제공 합니다.

GUI :

Exe로 자동 파이

산출:

산출


2
MVC ++가 필요하다고 언급 했어야합니다. 오류 : Microsoft Visual C ++ 14.0이 필요합니다.
SKR

3
pyinstaller에 빌드 되었기 때문에 여기에서 값을 찾지 못했습니다. pyinstaller에서 오류가 발생하면 여기에서도 오류가 발생합니다!
CV_passionate

9

가장 좋은 것이 무엇인지 말할 수는 없지만 과거에 성공한 도구는 cx_Freeze였습니다 . 그들은 최근 ('17 년 1 월 7 일) 버전 5.0.1로 업데이트했으며 Python 3.6을 지원합니다.

다음은 pypi https://pypi.python.org/pypi/cx_Freeze입니다.

문서는 필요에 따라 여러 가지 방법이 있음을 보여줍니다. http://cx-freeze.readthedocs.io/en/latest/overview.html

아직 시도하지 않았으므로 간단한 방법에 대해 논의한 게시물을 가리켜 보겠습니다. 하지만 일부는 변경되거나 변경되지 않았을 수 있습니다.

cx_freeze를 어떻게 사용합니까?


11
언급 할 가치가있는 것은 cxFreeze는 단일 파일 실행 파일을 수행하지 않는다는 것입니다.
Eddie Hart

7

내 패키지 PySimpleGUI와 함께 Nuitka 및 PyInstaller를 사용하고 있습니다.

Nuitka tkinter가 Nuikta로 컴파일하는 데 문제가있었습니다. 프로젝트 기여자 중 한 명이 문제를 해결하는 스크립트를 개발했습니다.

tkinter를 사용하지 않는 경우 "그냥 작동"할 수 있습니다. tkinter를 사용하는 경우 그렇게 말하고 스크립트와 지침을 게시하도록 노력하겠습니다.

PyInstaller 3.6을 실행 중이고 PyInstaller가 훌륭하게 작동합니다! 내 exe 파일을 만드는 데 사용하는 명령은 다음과 같습니다.

pyinstaller -wF myfile.py

-wF는 단일 EXE 파일을 생성합니다. 내 모든 프로그램에 GUI가 있고 명령 창을 표시하고 싶지 않기 때문에 -w 옵션은 명령 창을 숨 깁니다.

이것은 Python으로 작성된 Winforms 프로그램을 실행하는 것과 비슷 합니다.

[2019 년 7 월 20 일 업데이트]

PyInstaller를 사용하는 PySimpleGUI GUI 기반 솔루션이 있습니다. PySimpleGUI를 사용합니다. pysimplegui-exemaker 라고 하며 pip 설치가 가능합니다.

pip install PySimpleGUI-exemaker

설치 후 실행하려면 :

python -m pysimplegui-exemaker.pysimplegui-exemaker


5

이제 PyInstaller를 사용하여 변환 할 수 있습니다. 저는 Python 3에서도 작동합니다.

단계 :

  1. PC 시작
  2. 명령 프롬프트 열기
  3. 명령 입력 pip install pyinstaller
  4. 설치되면 'cd'명령을 사용하여 작업 디렉토리로 이동하십시오.
  5. 실행 명령 pyinstall <filename>

사람들이 이것을 반대하는 이유는 무엇입니까? 나는 도움을 위해이 답변을 게시하고 있습니다.
Tejas Joshi

3
OP가 특별히 사용하고있는 Python 3.6에서는 작동하지 않기 때문입니다.
uri

Pyinstaller가 이제 작동합니다. 그렇지 않은 경우 댓글로 알려주세요
Tejas Joshi
당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.