問題タブ [pyinstaller]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票する
2 に答える
1687 参照

python - PyInstallerからの.exeの結果、wxPythonがクラッシュします

Windows VistaでPyInstallerを使用して、非常に単純なwxPythonスクリプトを実行可能ファイルにコンパイルしようとしています。

Pythonスクリプトは、wxPythonのHelloWorldに他なりません。プログラムに必要な機能を追加する前に、Windows実行可能ファイルとして起動して実行しようとしています。しかし、私はすでに立ち往生しています。

MSVCR90.DLL、MSVCP90.DLL、およびMSVCPM90.DLLに関していくつかのループを飛び越えましたが、これらはVisual Studioインストール(C:\ Program Files \ Microsoft Visual Studio 9.0 \ VC \ redist \ x86 \)からコピーすることになりました。 Microsoft.VC90.CRT)。

PyInstallerの指示に従って、次のコマンドを実行します。

ここまでは順調ですね。続けます。

次に、最後のコマンドがあります。

結果の「guitest.exe」ファイルを取得しましたが、実行時に「単にクラッシュ」します...そしてデバッグ情報がありません。これは、標準的なWindowsVistaのクラッシュの1つにすぎません。

スクリプト自体、guitest.pyはそれ自体で問題なく実行されます。実行可能ファイルとしてクラッシュするだけで、完全に失われます。私が試したものは何も関連する結果を返さなかったので、私は何を探すべきかさえ知りません。

コンパイルプロセスの結果として、「warnguitest.txt」という別のファイルが生成されます。その内容は次のとおりです。

一体何を作ればいいのかわからない。繰り返しますが、私の検索は無益でした。

0 投票する
2 に答える
1821 参照

python - pythoncx_Freeze卵の問題

Pythonスクリプト(多くの卵を使用する)から実行可能ファイル(32ビットWindows XP用)を構築しようとしています

py2exe(0.6.9)、PyInstaller(1.4)、cx_Freeze(4.1.2)を検討しました

py2exeは朝食に卵が好きではありません

PyInstallerは昼食にPython2.6が好きではありません

だから私はcx_Freezeを使いました(4.0からシームレスに卵をサポートすることになっています)。しかし、何らかの理由でそうではありません。

卵の中のファイルを認識するためにどのパラメータを渡すのですか?

0 投票する
3 に答える
3729 参照

python - py2exe/pyinstallerおよびDispatchWithEvents

win32comライブラリを使用してiTunesを制御するプログラムがありますが、実行可能ファイルにコンパイルする際に問題が発生しています。問題は、DispatchWithEventsの代わりにを使用することを中心に展開しているようですDispatch。私は自分の問題を説明するために非常に簡単なプログラムを作成しました:

を使用するDispatchと、プログラムは正しくコンパイルおよび実行されます。を使用DispatchWithEventsすると、コマンドラインから呼び出されたときにプログラムは正常に実行されますが、exeを実行すると次のエラーが発生します。

PyInstallerを使用してみましたが、同様のエラーが発生します。

ファイルにtypelibを手動で追加できることはわかっていsetup.pyますが、再コンパイルせずに異なるバージョンのiTunesを搭載したコンピューターでコードを実行したいので、動的に作成したいと思います。setup / specでこれを行う方法がない場合、イベントをロードする別の方法があるのではないでしょうか。ありがとう。


添加:

Ryanのおかげで、生成されたpyファイルを取得でき、少し掘り下げた後、次のことがわかりました。

生成されたpyファイル(からmakepy.py)を取得し、名前を。のように変更しcominterface.pyます。次に、イベントハンドラーを使用してCOMオブジェクトを実際に作成するには、次の手順を実行する必要があります。

その後、あなたはあなたのビジネスに取り掛かることができます。

0 投票する
1 に答える
3503 参照

python - pyinstaller が .exe ファイルを作成しないのはなぜですか?

このガイドに従って、単純な Hello World スクリプトを .exe ファイルにしようとしています。

AMD 64 ビット プロセッサ
を搭載した Windows Vista を使用しています Python 2.6.5 (Windows AMD64 バージョン)
をインストールしました コマンド ラインが Python を認識するように PATH を設定しました (それが正しい単語である場合)
UPX をインストールしましたを Windows 用の 32 ビット バージョンにする)、upx.exe のコピーを指示に従って Python26 フォルダーに貼り付けます。
Pywin (Windows AMD 64 Python 2.6 バージョン)
をインストールしました。Pyinstaller の Configure.py を実行しました。いくつかのエラー メッセージが表示されますが、完了したようです。これが問題の原因かどうかはわかりません。実行すると、次のように表示されます。

C:\Python26\Pyinstaller\branches\py26win>Configure.py
I: C:\Python26\Pyinstaller\branches\py26win\config.dat から古い構成を読み取ります
I: EXE_dependencies を計算します
I: TCL/TK を検索しています...
I: 分析していますC:\Python26\DLLs_tkinter.pyd
W: ファイルのバイナリ依存関係を取得できません:
W: C:\Python26\DLLs_tkinter.pyd
W: トレースバック (最新の呼び出しが最後):
ファイル "C:\Python26\Pyinstaller\branches\py26win\ bindepend.py"、608 行目、get Imports
return _getImports_pe(pth) ファイル "C:\Python26\Pyinstaller\branches\py26win\bindepend.py"、275 行目、_getImports_pe
importva、importsz = datadirs[1] IndexError:範囲外のリスト インデックス

I: C:\Python26\DLLs_ctypes.pyd を分析しています W:
ファイルのバイナリ依存関係を取得できません:
W: C:\Python26\DLLs_ctypes.pyd
W: トレースバック (最新の呼び出しが最後):
ファイル "C:\Python26\Pyinstaller\branches \py26win\bindepend.py"、608 行目、get Imports
return _getImports_pe(pth)
ファイル "C:\Python26\Pyinstaller\branches\py26win\bindepend.py"、275 行目、_getImports_pe
importva、importsz = datadirs[1 ]
IndexError: リスト インデックスが範囲外です

I: C:\Python26\DLLs\select.pyd を分析しています W:
ファイルのバイナリ依存関係を取得できません:
W: C:\Python26\DLLs\select.pyd
W: トレースバック (最新の呼び出しが最後):
ファイル "C:\Python26 \Pyinstaller\branches\py26win\bindepend.py"、608 行目、get Imports
return _getImports_pe(pth)
ファイル "C:\Python26\Pyinstaller\branches\py26win\bindepend.py"、275 行目、_ge tImports_pe
importva、importsz = datadirs[1]
IndexError: リスト インデックスが範囲外です

I: C:\Python26\DLLs\unicodedata.pyd を分析しています W:
ファイルのバイナリ依存関係を取得できません:
W: C:\Python26\DLLs\unicodedata.pyd
W: トレースバック (最新の呼び出しが最後):
ファイル "C:\Python26 \Pyinstaller\branches\py26win\bindepend.py"、608 行目、get Imports
return _getImports_pe(pth)
ファイル "C:\Python26\Pyinstaller\branches\py26win\bindepend.py"、275 行目、_ge tImports_pe
importva、importsz = datadirs[1]
IndexError: リスト インデックスが範囲外です

I: C:\Python26\DLLs\bz2.pyd を分析しています W:
ファイルのバイナリ依存関係を取得できません:
W: C:\Python26\DLLs\bz2.pyd
W: トレースバック (最新の呼び出しが最後):
ファイル "C:\Python26 \Pyinstaller\branches\py26win\bindepend.py"、608 行目、get Imports
return _getImports_pe(pth)
ファイル "C:\Python26\Pyinstaller\branches\py26win\bindepend.py"、275 行目、_ge tImports_pe
importva、importsz = datadirs[1]
IndexError: リスト インデックスが範囲外です

I: C:\Python26\python.exe
I: 依存アセンブリ C:\Python26\python.exe:
I: amd64_Microsoft.VC90.CRT_1fc8b3b9a1e18e3b_9.0.21022.8_none
I: アセンブリ amd64_Microsoft.VC90.CRT_1fc8b3b9a1e18e3b_9.0.21022.8_ を検索中なし...
I: マニフェスト C:\Windows\WinSxS\Manifests\amd64_microsoft.vc90.crt_1fc8b3b9a 1e18e3b_9.0.21022.8_none_750b37ff97f4f68b.manifestが見つかりました I:
msvcr90.dll ファイルを検索しています
I: ファイル C:\Windows\WinSxS\amd64_microsoft が見つかりました。 vc90.crt_1fc8b3b9a1e18e3b_9.0.21 022.8_none_750b37ff97f4f68b\msvcr90.dll
I: Searching for file msvcp90.dll
I: Found file C:\Windows\WinSxS\amd64_microsoft.vc90.crt_1fc8b3b9a1e18e3b_9.0.21 022.8_none_750b37ff97f4f68b\msvcp90.dll
I : ファイル msvcm90.dll
を検索しています 。 Microsoft.VC90.CRT\msvcr90.dll の 追加 I: Microsoft.VC90.CRT\msvcp90.dll の追加 I: Microsoft.VC90.CRT\msvcm90.dll の追加 W: ファイルのバイナリ依存関係を取得できません: W: C:\Python26\ python.exe W: トレースバック (最新の呼び出しが最後): ファイル "C:\Python26\Pyinstaller\branches\py26win\bindepend.py"、608 行目、get Imports return _getImports_pe(pth) ファイル "C:\Python26\Pyinstaller \branches\py26win\bindepend.py"、275 行目、_getImports_pe 内










importva, importsz = datadirs[1]
IndexError: リスト インデックスが範囲外です

I: Analyzing C:\Windows\WinSxS\Manifests\amd64_microsoft.vc90.crt_1fc8b3b9a1e18e 3b_9.0.21022.8_none_750b37ff97f4f68b.manifest
I: Analyzing C:\Windows\WinSxS\amd64_microsoft.vc90.crt_1fc8b3b9a1e18e3b_9.0.210 22.8_none_750b37ff97f4f68b\msvcr90.dll
W: Cannotファイルのバイナリ依存関係を取得します:
W: C:\Windows\WinSxS\amd64_microsoft.vc90.crt_1fc8b3b9a1e18e3b_9.0.21022.8_none_ 750b37ff97f4f68b\msvcr90.dll
W: トレースバック (最後の最後の呼び出し):
ファイル "C:\Python26\Pyinstaller\branches\ py26win\bindepend.py"、608 行目、get Imports
return _getImports_pe(pth)
ファイル "C:\Python26\Pyinstaller\branches\py26win\bindepend.py"、275 行目、_getImports_pe
importva、importsz = datadirs[1]
IndexError: リスト インデックスが範囲外です

I: Analyzing C:\Windows\WinSxS\amd64_microsoft.vc90.crt_1fc8b3b9a1e18e3b_9.0.210 22.8_none_750b37ff97f4f68b\msvcp90.dll
W: Cannot get binary dependencies for file:
W: C:\Windows\WinSxS\amd64_microsoft.vc90.crt_1fc8b3b9a1e18e3b_9.0.21022.8_none_ 750b37ff97f4f68b\msvcp90.dll
W: トレースバック (最新の呼び出しが最後):
ファイル "C:\Python26\Pyinstaller\branches\py26win\bindepend.py"、608 行目、get Imports
return _getImports_pe(pth)
ファイル "C:\Python26 \Pyinstaller\branches\py26win\bindepend.py"、275 行目、_getImports_pe
importva、importsz = datadirs[1]
IndexError: リスト インデックスが範囲外です

I: Analyzing C:\Windows\WinSxS\amd64_microsoft.vc90.crt_1fc8b3b9a1e18e3b_9.0.210 22.8_none_750b37ff97f4f68b\msvcm90.dll
W: Cannot get binary dependencies for file:
W: C:\Windows\WinSxS\amd64_microsoft.vc90.crt_1fc8b3b9a1e18e3b_9.0.21022.8_none_ 750b37ff97f4f68b\msvcm90.dll
W: トレースバック (最新の呼び出しが最後):
ファイル "C:\Python26\Pyinstaller\branches\py26win\bindepend.py"、608 行目、get Imports
return _getImports_pe(pth)
ファイル "C:\Python26 \Pyinstaller\branches\py26win\bindepend.py"、275 行目、_getImports_pe
importva、importsz = datadirs[1]
IndexError: リスト インデックスが範囲外です

I: TCL/TK が見つかりませんでし
た I: Zlib をテストしています...
I: ... Zlib が利用可能です
I: アイコン、バージョン リソースを設定する機能をテストしています...
I: ... リソースの更新が利用可能です
I: Unicode をテストしていますサポート...
I: ... Unicode が利用可能
I: UPX のテスト中...
I: ...UPX が利用可能
I: PYZ の依存関係を計算中...
I: 生成完了 C:\Python26\Pyinstaller\branches\py26win\config .dat

私の Python スクリプト (Hello.py という名前) は、例と同じです。

これは、同じディレクトリにある私の BAT ファイルです。

set PIP=C:\Python26\Pyinstaller\branches\py26win\
python %PIP%Makespec.py --onefile --console --upx --tk Hello.py
python %PIP%Build.py Hello.spec

コマンド プロンプトで Hello.bat を実行すると、いくつかのファイルが作成されますが、いずれも .exe ファイルではなく、次のように表示されます。

C:\My Files>set PIP=C:\Python26\Pyinstaller\branches\py26win\

C:\My Files>python C:\Python26\Pyinstaller\branches\py26win\Makespec.py --onefile --console --upx --tk Hello.py が書きました C:\My Files\Hello.spec が Build を実行するようになりました.py 実行可能ファイルをビルドする

C:\My Files>python C:\Python26\Pyinstaller\branches\py26win\Build.py Hello.spec

I: C:\Python26\python.exe の依存アセンブリ: I: amd64_Microsoft.VC90.CRT_1fc8b3b9a1e18e3b_9.0.21022.8_none トレースバック (最新の呼び出しが最後): ファイル "C:\Python26\Pyinstaller\branches\py26win\Build.py" 、1359行目、main(args[0]、configfilename=opts.configfile)
ファイル「C:\Python26\Pyinstaller\branches\py26win\Build.py」、1337行目、メインビルド(specfile)
ファイル「C:\ Python26\Pyinstaller\branches\py26win\Build.py", line 1297, in build execfile(spec)
File "Hello.spec", line 3, in
pathex=['C:\My Files'])
File "C:\ Python26\Pyinstaller\branches\py26win\Build.py", line 292, in __init__
raise ValueError, "script '%s' not found" % script
ValueError: スクリプト 'C:\Python26\Pyinstaller\branches\py26win\support\useTK.py' が見つかりません

私はコマンド プロンプトに関する知識が限られているため、コマンド プロンプトで何かを行う必要がある場合は、手順を追って説明してください。

0 投票する
2 に答える
1233 参照

python - アドオンや拡張機能をサポートするために、Pythonアプリを単一のファイルとしてバンドルしますか?

Pythonパッケージとそのすべての依存関係を取得し、それらを顧客に簡単に出荷できる単一のバイナリプログラムに変換するための、いくつかのユーティリティ(すべて異なる手順、制限、およびターゲットオペレーティングシステム)があります。

私の状況はさらに一歩進んでいます。サードパーティの開発者は、私のアプリケーション用のプラグイン、拡張機能、またはアドオンを作成したいと思うでしょう。もちろん、Windowsのようなプラットフォームのユーザーが、プラグインやアドオンがインストールされていることをアプリが簡単に検出できるように、プラグインやアドオンを最も簡単にインストールする方法は、気の遠くなるような質問です。しかし、その基本的な質問を超えて、別の問題があります。サードパーティの開発者は、プラグインの依存関係を同時にインポートできるように、拡張機能自体が必要とするライブラリ(lxmlなどのバイナリモジュールなど)に拡張機能をバンドルする方法を教えてください。プラグインが利用可能になる時間。

これにどのようにアプローチできますか?これを扱いやすくするために、アプリケーションにはディスク上の独自のプラグイン領域と独自のプラグインレジストリが必要ですか?または、単一の実行可能ファイルとして配布されているアプリが、単一のファイルとしてもインストールされているプラ​​グインを探し回って見つけることができる、自分で作成することを避けることができる一般的なメカニズムはありますか?

0 投票する
2 に答える
19808 参照

python - PyInstaller と cx_Freeze のどちらが優れていますか?

Python アプリケーションをバンドルする場合、cx_Freeze と PyInstaller のどちらが優れているか教えてもらえますか? 次のような要因に基づいた比較を探しています。

  1. 人気(つまり、より大きなユーザーベース)
  2. ビルドされたバイナリのフットプリント
  3. クロスプラットフォームの互換性
  4. 使いやすさ
0 投票する
1 に答える
6588 参照

python - pyinstaller で Python 実行可能ファイルを作成するときにライブラリがインポートされない

Windows 用の Python .exe をビルドしようとしていますが、問題なく作成できます。ただし、アプリケーションを実行すると、すべてのライブラリがインポートされたわけではないため、すべての機能を実行できないことに気付きました。PySNMP が具体的にインポートされていません。ビルド プロセスの出力を見ると、プログラム内のいくつかのモジュールが PySNMP をインポートしているにもかかわらず、PySNMP がまったく表示されていないことに気付きました。この問題の原因を知っている人はいますか? ありがとう!

インストーラーを生成するコードは次のとおりです。

0 投票する
1 に答える
524 参照

subprocess - PyInstaller でサブプロセスを強制終了する

Python subprocess.Popen(...) を使用するスクリプトを作成しました。ボタンをクリックすると、このサブプロセスを破棄したい (subprocess.kill() を使用)。Python を使用すると問題なく動作します。

ただし、PyInstaller でスクリプトを「コンパイル」すると、これは機能しません。実際、タスク マネージャー (Windows) には 2 つのプロセスがあります (1 つは [PyInstaller によって作成されたと思われる] 一時ディレクトリからのものです)。そのため、ボタンをクリックすると、プロセスは停止しますが、PyInstaller によって作成されたプロセスは停止しません。

一度に2つのプロセスを強制終了するにはどうすればよいですか?

Tカンクス

PS : 下手な英語で申し訳ありません...

0 投票する
1 に答える
409 参照

python - MSAAを使用したPythonバイナリ実行可能ファイルが終了時にハングする

私はPythoncomtypesを使用して、MSAA(Microsoft Active Accessibility)を使用するためのIAccessibleインターフェイスにアクセスしています。その後、pyinstallerを使用してバイナリ実行可能ファイルを作成するため、問題は特定のプラットフォーム(Windows XP x64)で実行可能ファイルが終了時にハングすることです。プロセス出口点が呼び出された後、ole32.dllのWaitFotMultipleObjectsExでハングします。これは、システムコード、またはpyinstallerブートローダーでさえもハングします。調査中に、問題を特定しました。これは、多くのIAccessibleオブジェクトの作成(つまり、子ツリーの作成)にあります。これを行うと、プロセスがハングします。他の誰かが同様の問題に直面したかどうか知りたいですか?

PS他のOSでは正常に動作します。

0 投票する
1 に答える
1385 参照

python - 電子メールモジュールでのPyInstallerエラー

test.pyまず、1行を含むという名前のスクリプトを作成します。

それを保存して実行するmakespec.pybuild.py、を取得しtest.exeます。これは私が走っている間に得られるものですtest.exe

PyInstallerは電子メールモジュールではうまく機能しないようです。PyInstaller 1.4、1.5rc、および最新のトランクを試しましたが、どれも機能しませんでした。Windows Server 2003 / wPython2.6はこちら。これを回避する方法はありますか?