2013-10-07 1 views
18

64 비트 Windows 7에서 실행 중이며 Pip와 PyWin32를 사용하여 Pyinstaller를 설정합니다. 파이썬 2.7있다. 간단한 HelloWorld 프로그램에서 PyInstaller가 작동하지 않습니다.

은 내가 pyInstaller 중에 같은 디렉토리에 파일을 넣어

print "hello world!" 

이 코드와 간단한 인사 세계 프로그램을 만들고,

pyinstaller.py helloWorld.py 

그러나, 경우 명령 프롬프트에서이 코드를 실행 이 오류 메시지가 나타납니다.

Error loading Python DLL: C:\PROGRA~1\PYINST~1.1\build\HELLOW~1\python27.dll (error code 126) 

내가 뭘 잘못하고 어떻게 해결할 수 있습니까? -F 플래그와

답변

30

실행하여 독립 exe를 생성합니다 :

pyinstaller.py -F helloworld.py 

그것은 출력이 DIST하는 것입니다 /되는 Helloworld.exe

참고이있다 -F를 사용하지 않을 때와 다른 위치, 나중에 올바른 exe를 실행하십시오.

+8

'build/{filename} '보다는'dist/{filename}'에 출력되는 것처럼 보입니다. –

+0

감사합니다. 새 위치를 반영하도록 답변을 업데이트했습니다. – tul

1

감사합니다. @tul! pyinstaller 제 버전은 dist \ helloworld.exe에 저장했습니다!

당신이 C에서 시작하는 경우 :뿐만 아니라 \ Python27 \ 스크립트 \ DIST ... : C있을 것 \ Python27 \ 스크립트 ...!

하지만 당신은 그것을 가지고 whereever, 난 그냥 클릭으로 언제든지 다시 컴파일 할 수 있도록 평 옆에 배치 파일을 두는 것이 좋습니다 그래서 .EXE 아무것도

내가 설정이 없다 .py 파일 위치와 임시 물건에 임시 디렉토리로 이동 :

@echo off 
:: get name from filename without path and ext 
set name=%~n0 
echo ========= %name% ========= 

:: cut away the suffix "_build" 
set name=%name:~0,-6% 
set pypath=C:\Python27\Scripts 
set buildpath=%temp% 

if not exist %name%.py (
    echo ERROR: "%name%.py" does not exist here! 
    pause 
    exit /b 
) 

%pypath%\pyinstaller.exe --onefile -y %~dp0%name%.py --distpath=%~dp0 --workpath=%buildpath% --specpath=%buildpath% 

내가 평 파일 플러스 "_build"처럼 이름을 다시 배치 스크립트에서 접미사를 버려야. Voilà.

관련 문제