問題タブ [py2exe]
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.
python - py2exe:コンパイルされたPythonWindowsアプリケーションはDLLが原因で実行されません
私はPythonに非常に慣れていないことを告白しますが、私はまだ何をしているのかよくわかりません。最近、Python2.6.2とwxPython2.8を使用して非常に小さなWindowsアプリケーションを作成しました。そしてそれは素晴らしい働きをします。私はそれが正常に機能することに非常に満足しています。通常は、次のように、Pythonインタープリターを介して直接呼び出すことを意味します。
ただし、さらに一歩進んで、実際にこれをスタンドアロンの実行可能ファイルにコンパイルしたいと思いました。そこで、py2exeを利用するwxPythonwikiのこれらの指示に従いました。最初は、MSVCR90.dllが見つからないというエラーがコマンドラインに表示されました。次に、MSVCR90.dllをPython\DLLsフォルダーにコピーしました。それはそれがそれを修正したように最初は見えました、なぜならそれはそれがする必要があることをうまくやったからです。プログラムが依存しているDLLファイルがいくつかあり、それらを配布する必要がある場合とない場合があるという簡単な警告で終了しました。
そこで、py2exeが作成したdistフォルダーに移動し、実行可能ファイルを実行してみました。しかし、それを開こうとすると、次のようなエラーダイアログが表示されるだけです。
そこで、先に進み、MSVCR90.dllをこのdistフォルダーに再度コピーしました。しかし、それはうまくいきませんでした。次に、それをWINDOWS\system32ディレクトリにコピーしました。それもしませんでした。これを機能させるには何をする必要がありますか?
python - py2exe'd プログラムから Oracle に接続する際のエラー: Oracle 環境ハンドルを取得できません
私のpythonプログラム(Python 2.6)は、Pythonインタープリターを使用して実行すると正常に動作し、エラーなしでOracleデータベース(10g XE)に接続します。ただし、py2exe を使用してコンパイルすると、実行可能バージョンは cx_Oracle.connect() の呼び出しで「Oracle 環境ハンドルを取得できません」で失敗します。
私は喜びなしで次のことを試しました:
- Oracle インスタント クライアント 10g および 11g
- Oracle XE クライアント
- cx_Oracle-5.0.2-10g.win32-py2.6.msi を再インストールします
- 設定
ORACLE_HOME
とPATH - Oracle クライアントと exe だけを持つ別のコンピュータ
- exe をビルドするためのさまざまなオプション (圧縮なしおよび/または zip ファイルの使用)
私のテストケース:
testora.py:
build_testora.py:
結果:
python - py2exeの「アプリケーションを正しく初期化できませんでした」エラーをデバッグするにはどうすればよいですか?
私は一般的にPythonを初めて使用しますが、Python 2.6 / wxPython 2.8でアプリを作成しました。このアプリは、Pythonで実行すると完全に機能します。しかし、私はさらに一歩進んで、それをWindows実行可能ファイルとして展開できるようにしたかったので、py2exeを試してきました。しかし、私はそれを機能させることができませんでした。常にexeをコンパイルしますが、実際に実行しようとすると、不可解なエラーメッセージが表示されます。最初は、特定のDLLが見つからなかったという単純なメッセージでしたが、必要なすべてのDLLを指定した後でも、次のメッセージが返されます。
そこで、私は物事を分解し、wxPythonを使用して非常に単純なアプリケーションを作成し、それが機能するかどうか、または元のアプリのより複雑な機能のいくつかが邪魔になっていないかどうかを確認しました。しかし、私の単純なテストでも同じエラーが返されました。簡単なテストスクリプトのコードは次のとおりです。
そして、これが私が使用したpy2exeセットアップスクリプトです:
)。
次にpython setup.py py2exe
、を実行すると、EXEファイルが生成され、いくつかのDLLファイル(後でdistディレクトリにコピーします)について警告しますが、EXEを実行しようとすると、すぐに上記のエラーが発生します。
python - Python 標準ライブラリ全体のインポート
Python 標準ライブラリ全体を自分のプログラムにインポートする方法が必要です。
これは悪い考えのように思えるかもしれませんが、私がやりたいのは、py2exe が標準ライブラリ全体を私のプログラムと一緒にパッケージ化し、ユーザーが私が与えたシェルでそこからインポートできるようにすることです。
これを行う簡単な方法はありますか?
ボーナス ポイント: このアクションでは、サイト パッケージにインストールした Python に付属していないパッケージをインポートしないことをお勧めします。ただし、これは重要ではありません。
python - PythonインストールでインストールされたMSVCR90.dllのバージョンについてユーザーのマシンをチェックするだけで済みますか?
私は自分のアプリケーションのアップデートに取り組んでいましたが、始める前に2.62に移行しました。MSVCR90.dllが原因で、py2exeを使用してアプリケーションを構築する際に問題が発生するという問題にすぐに取り組みました。この問題を解決する方法については、SOに関するいくつかの良い回答を含め、かなりの量の情報があるようです。
32ビットXPまたはVistaマシンを持っていない可能性が高いユーザーに展開しています。一部のユーザーは、近い将来64ビットVistaに移行される予定です。これらの問題についての私の理解は、アプリケーション開発コンピューターに存在するPythonのバージョンに関連する正しいdllがそれらにあることを確認する必要があるということです。私はx86プロセッサを持っているので、それらはdllのx86バージョンを必要とします。彼らのコンピューターの構成は関係ありません。
これは正しいですか、それともdllをプライベートアセンブリとして配信する場合は、それらのアーキテクチャを考慮する必要がありますか?
ご回答ありがとうございます
python - py2exeで相対パスを指定する
"script": 'pythonturtle.py' のように、setup.py でスクリプト ファイルを指定する場合、ファイル システム内での相対位置を指定するにはどうすればよいですか? 私の場合、2 つのフォルダーに移動してから、"src" フォルダーに移動する必要があります。これをクロスプラットフォームの方法で記述するにはどうすればよいですか?
python - ImportError: py2exe という名前のモジュールがありません
py2exe で py2exe サンプルの 1 つを使用しようとすると、このエラーが発生します。
インストーラーでpy2exeをインストールし、python 2.6を使用しています。サイトから正しいインストーラーをダウンロードしました (Python 2.6 のインストーラー)。
私のパスは C:\Python26 に設定されており、コマンド プロンプト内から通常の Python スクリプトを実行できます。
どうすればいいですか?
ありがとう。
編集:最初にpython 3.1をインストールしましたが、後で削除しました。それが問題でしょうか?
python - py2exeの長所/短所は何ですか
exe にコンパイルされる単純なスクリプトを探していますが、使用する前に py2exe を見つけました。py2exe ツールの長所と短所は何だと思いますか?
py2exe - Python 2.6 での win32file.pyd のロードに関する問題
win32file を使用する単純なスクリプトでさえ、py2exe を正しくパックすることができません。常に次のエラー メッセージが表示されます。
スクリプトは次のようになります。
そして、ここに setup.py があります:
以前にも同様の問題がありましたか?
バージョン:
ターゲット マシンとしての Python 2.6.2、py2exe 0.6.9、pywin32-214、Windows 7 および Windows XP Pro
アップデート:
- バンドルされたプログラムは、それが作成された Windows 7 で実行できますが、XP マシンでは実行できません。
エラーをスローする win32file.pyc の部分は次のようになります。
/li>
テスト ボックス (Windows XP) ではエラーが返されますが、開発ボックス (Windows 7) では上記の行が正しく実行されます。
** 更新 2: **
imp.load_dynamic を使用して win32file フォーム python インストールをロードすると、エラーなしで dist フォルダーの win32file.pyd をリロードできます。
python - Python 3.1でポータブル(exe)を作成しますか?
Pythonアプリ用のポータブル/スタンドアロンexeを作成する方法はありますか?
p2exeについて読みましたが、最新バージョンをサポートしていません。2.6が古くなりすぎたらすぐに非互換性を心配するのではなく、最新バージョンを使い続けたいので、2.6に移行するのは気が進まない。