私はPythonコードを単一のexeファイルにコンパイルしようとしていましたが、正しく実行できませんでした。Pythonコードを単一のexeファイルにコンパイル
私はpyInstallerのを試してみた、これは.specファイルです:罰金コンパイル
# -*- mode: python -*- a = Analysis([os.path.join(HOMEPATH,'support\\_mountzlib.py'), os.path.join(HOMEPATH,'support\\useUnicode.py'), 'programs\\toolbox.py'], pathex=['C:\\Users\\Ronaldo\\Desktop\\Python\\pyinstaller']) pyz = PYZ(a.pure) exe = EXE(pyz, a.scripts, a.binaries, a.zipfiles, a.datas, name=os.path.join('dist', 'program.exe'), debug=False, strip=False, upx=True, console=False)
pyInstallerの、働いていた単一のEXEファイルを作成し、 が、持っていなかった明らかに他のユーザー同じバージョンの pythonがインストールされている(2.7.2)ことができませんでした。何のエラーも与えない、それは単に起動しません。私はそれをいくつかの友人に を送信して試してみたが、仮想マシンでも試してみた。
試したpy2exe。コンパイル時に(ライブラリの隣にあるすべてのライブラリ とそれ以外のファイル)、正常に動作します。私は を1つのファイルにコンパイルしようとしましたが、コンパイルされたexeファイルによって " toolbox.exeが動作を停止しました"というエラーが表示されました。ここでは、エラー報告、 は、念のためですが、役に立つかもしれない:
Problem signature: Problem Event Name: APPCRASH Application Name: toolbox.exe Application Version: 0.0.0.0 Application Timestamp: 49180193 Fault Module Name: StackHash_0a9e Fault Module Version: 0.0.0.0 Fault Module Timestamp: 00000000 Exception Code: c0000005 Exception Offset: 01b61fcb OS Version: 6.1.7601.2.1.0.256.1 Locale ID: 1033 Additional Information 1: 0a9e Additional Information 2: 0a9e372d3b4ad19135b953a78882e789 Additional Information 3: 0a9e Additional Information 4: 0a9e372d3b4ad19135b953a78882e789
setup.pyファイルには、次のとおりです。
from distutils.core import setup import py2exe, sys, os sys.argv.append('py2exe') setup( options = {'py2exe': {'bundle_files': 1}}, windows = [{'script': "toolbox.py"}], zipfile = None, ) single.py file:
そして、ここでsingle.pyだ:
import os, sys, ctypes ctypes.windll.user32.MessageBoxA(0, "curdir: %s\nexedir: %s\nsys.winver: %s" % ( os.path.abspath(os.curdir), os.path.abspath(os.path.dirname(sys.argv[0])), sys.winver, ), "%s - Message" % os.path.basename(sys.executable), 0x30 )
私が書いたプログラムは、tkinter、sys、random、およびwin32clipboard(pywin)モジュールを使用します。 私は何が間違っていますか? 他の優れたコンパイラはありますか?
更新:Joëlのヒントで、私はデバッグとコンソールモードでコンパイルしました。 Python 2.7を使用していないユーザーにはまだ機能しませんでした。これはエラーメッセージです:
C:\Users\XXXXX\Desktop>program.exe
Found embedded PKG: C:\Users\XXXXX\Desktop\program.exe
Extracting binaries
Setting up to run child
Setting magic environment var
Creating child process
Waiting for child process to finish...
Found embedded PKG: C:\Users\XXXXX\Desktop\program.exe
workpath: C:/Users/XXXXX/AppData/Local/Temp/_MEI14042/
manifestpath: C:/Users/XXXXX/AppData/Local/Temp/_MEI14042/program.exe.manifest
Activation context created
Activation context activated
C:\Users\XXXXX\AppData\Local\Temp\_MEI14042\python27.dll
Manipulating evironment
PYTHONPATH=C:/Users/XXXXX/AppData/Local/Temp/_MEI14042;C:/Users/XXXXX/Desktop
importing modules from CArchive
extracted iu
extracted struct
extracted archive
Installing import hooks
outPYZ1.pyz
私は本当にこれが可能な答えのための助けとして役立つことを願っています。
「実行できませんでした」 - どのようなエラーが表示されていますか? –
大きなサードパーティライブラリを使用していますか?特に、Tkinterにはpyinstallerで動作する特別なフラグが必要です – Shish
@PetrViktorin Viktorinエラーはまったくありません。それだけで実行されません。 – Thurax