2013-10-07 14 views
18

私は64ビットWindows 7で動作しています.PipinstallerとPipとPyWin32をセットアップします。私はPython 2.7を持っています。PyInstallerは単純なHelloWorldプログラムでは動作しません

私はプロンプト

pyinstaller.py helloWorld.py 

しかし、pyInstallerのと同じディレクトリにファイルを置いて、コマンドでこのコードを実行し、このコード

print "hello world!" 

とハローシンプルな世界のプログラムを作りました私はそれを試して、私はこのエラーメッセージが表示されます:

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

私は間違って何をやっていますか?スタンドアロンEXE生成する-Fフラグと

答えて

30

実行:

pyinstaller.py -F helloworld.py 

それが出力これは-Fを使用しない場合に、別の場所でhelloworld.exe/

注DIST意志を後で正しいexeファイルを実行してください。

+8

'build/{filename}'ではなく 'dist/{filename}'に出力されているようです。 –

+0

ありがとう、私は新しい場所を反映するために私の答えを更新しました – tul

1

ありがとう@tul!私のpyinstallerのバージョンはdist \ helloworld.exeになりました!

あなたはCからそれを起動する場合は、次のようにも\ Python27 \スクリプト\ distの...Cになるだろう\ Python27 \スクリプト...

しかし、あなたがそれを持ってwhereever、私はクリックするだけでいつでも再コンパイルできるようにするには、次のあなたの.pyにバッチファイルを置くことをお勧めします:

私はそれを設定するので、.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% 

は私がの.pyファイルプラス「_build」のような名前を付けて、再びバッチスクリプトでの接尾辞を切り取ります。 です。

関連する問題