問題タブ [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.
python - Python アプリの配布
簡単な質問... wx gui などを使用して .py アプリをビルドしたら、それを pyinstaller または cx_freeze でコンパイルし、バイナリをサーバーに送信できますか?
これはスクリプトを配布する良い方法ですか? 私はアプリ開発サイクルにかなり慣れていません...公開したいPythonスクリプトがいくつかあります。それらは私の人生を楽にしてくれるからです...
コミュニティの残りの部分とコードを共有し、人々に .py コードを提供し、バイナリも配布したい場合、.py を pyinstaller と cx_freeze でコンパイルしますか、それとも他の方法を使用しますか?
現在の開発環境は Mac OSX、debian domU です。
ありがとう!
python - Python EXE(pyinstaller)と動的インポートのリロードディレクトリ
sys.path.append
コード内で追加されたディレクトリからPythonスクリプトをロードして実行するという特定のタスクを持つ、pyinstallerを使用してwxPython(関連するかどうかはわかりません)実行可能ファイルを作成しました。実行中、アプリケーションはディレクトリの内容を適切に表示およびインポートできます。ただし、ファイルがこのディレクトリに追加されると、アプリはそのファイルをインポートしようとし、その名前のモジュールがないと言って失敗します。新しいモジュールをロードするには、アプリを再起動する必要があります。import
ファイルは、ステートメントを使用して動的にインポートされています。
これを回避する方法はありますか?アプリケーションがコンパイルされていない場合、インポートは問題なく機能します。
python - pyinstallerがデータファイルを見つけられないようです
編集3:スクリプト/実行可能ファイルの場所を知る必要がある場合は、に置き換え__file__
ました。sys.argv[0]
これはまったく同じではありませんが、私の場合は正常に動作しているようです(少なくとも実行可能バージョンでは...)。これで、受け入れられた回答の機能を使用してリソースファイルにアクセスし、1ファイルモードですべてが正常に機能しています。
編集2:受け入れられた回答のコメントに示されているように、問題は私のスクリプトのパス解決に起因しています。スクリプトの場所を取得するためにを使用__file__
して、そのリソースファイルにアクセスできるようにします。これは、ファイル名をスクリプトに__file__
返すため、パッケージ化すると機能しません。そのため、パスはなく、ファイル名だけが返されます。Python.dll
したがって、リソースファイルにアクセスするための別のトリックを見つける必要があります。現時点での回避策は、現在のディレクトリを実行可能パスに移動することです。
ちなみに、これは、ConfigParserがファイルにアクセスするときに問題を報告する必要があることを意味し、セクションが欠落していることではありません。
このパス解決の質問を解決した方法で、この質問を更新します。
に問題がpyinstaller
あり、初めて使用するので、何か間違ったことをしたことは間違いありません。
だから、ここに問題があります:pyisntaller
私が書いたスクリプトでスムーズに実行され、フォルダにいくつかのものを生成しdist
ます。さて、今度はそれを実行してすべてがうまくいったかどうかを確認したいと思います。これが私が得たものです:
私の最初のアイデアは、logging.conf
ファイルが欠落しているということだったので、ファイル(および他のいくつかのリソースファイル)をファイルに追加しましたp_tool.spec
が、これは良くありません。
Pythonバージョン:2.6.6、WinXPで。pyinstaller
Solarisワークステーション用のファイルをパッケージ化するために必要になるため、使用しています。
それで、誰かがこの問題を抱えていましたか?関連する唯一のトピックは次の質問です:PyInstallerの問題、本当に私の問題に近いですが、うまくいけば答えが得られませんでした。
Edit3:問題とは実際には関係がないため、ロギングに関する詳細が削除されました。
python - Pythonコードを単一のexeにコンパイルする
Python コードを単一の exe にコンパイルしようとしてきましたが、正しく実行できませんでした。
私はpyinstallerを試しました.これは.specファイルです:
Pyinstaller は正常にコンパイルされ、機能する単一の exe ファイルを作成しましたが、同じバージョンの Python (2.7.2) がインストールされていない他のユーザーは実行できなかったようです。エラーは発生しません。単に起動しません。数人の友人に送信して試してみました。また、仮想マシンでも試しました。
py2exeを試しました。コンパイルに関しては(すべてのライブラリが隣にあり、残りのファイルがある場合)、正常に動作します。単一のファイルにコンパイルしようとしましたが、コンパイルされたexeファイルで「toolbox.exeが動作を停止しました」というエラーが発生しました。念のため、エラーレポートを次に示します。
setup.py ファイルは次のとおりです。
そして、ここにsingle.pyがあります:
/li>
私が書いたプログラムは、tkinter、sys、random、および win32clipboard(pywin) モジュールを使用しています。私は何を間違っていますか?他に優れたコンパイラはありますか?
更新: Joël のヒントにより、デバッグとコンソール モードでコンパイルしました。Python 2.7 を持っていないユーザーにはまだ機能しませんでした。これはエラーメッセージです:
これが可能な答えの助けになることを本当に願っています。
python - Pyinstaller が動作しない
Pyinstaller を使用してスタンドアロンの実行可能ファイルを作成しようとしていました。Configure から Makespec 部分までのプロセスはうまくいきました。しかし、 Build.py の処理中に、次のエラーが表示されました。
私はTkinterを使用していました。それは問題を引き起こしますか。Pyinstaller が機能しない場合は、利用可能な他の代替手段があります
Makespec.py に -K オプションを使用し、Build.py でフォローアップした後に表示されるエラー メッセージは次のとおりです。
python - --onefile をビルドしようとすると、PyQt で PyInstaller エラーが発生します
PyInstaller 1.5 を使用して PyQt プログラムをコンパイルしようとしています。--onedir (デフォルト) を使用すると、次のプログラムはどちらも問題なく動作しますが、かなり大きなプログラムが作成されます。--onefile オプションを使用したいのですが、作成した onefile アプリを実行すると、次のエラーが表示されます。
このエラーは、次の両方で発生します。
この:
誰にもアイデアはありますか?
python - PyQt と pyinstaller: QIcon を読み込めません
PyQt を使用する最初のアプリケーションをコンパイルしようとしています。正常にコンパイルされますが、実行しようとすると、次のように表示されます。
元のエラーがどこにあるかを示しています。アイコンを設定した行にあります:
ご覧のとおり、qrc ファイルの pyrcc4.exe で生成されたリソース モジュールからアイコンをインポートします。元の qrc ファイルには次のような情報が含まれています。
Python モジュールが正常に生成されました。元のスクリプトは正常に動作します。私は間違ったことをしていますか?
python - pyinstaller を使用して、イメージと、txt ファイルや xml ファイルなどの構成ファイルをビルドします。
画像やtxtなどのデータファイルをpythonプログラムに追加するときに、pyinstallerに問題があります。たとえば、アイコンを含むツールバーを作成し、images という名前の別のフォルダーに保存します。また、いくつかの構成を保存するためのいくつかのtxtおよびxmlファイルがあります。これらの txt ant xml ファイルは、data_files という名前の別のフォルダーに保存されます。すべての py ファイルは、source という名前の別のフォルダーに保存されます。
この python プログラムを pyinstaller でビルドしようとすると、pyinstaller はすべてのソース フォルダーを正常にビルドできますが、images および data_files フォルダーはビルドできません。pyinstaller のドキュメントを確認しましたが、解決策が見つかりませんでした。私は多くのグーグル検索を行いましたが、このリソースだけが役立つとわかりましたが、これは非常に不十分なリソースです.
私の主な質問は次のとおりです。
編集: 解決策を見つけました。spec ファイルを作成するときは、.datasパラメータを指定する必要があります。
上記の仕様コードは、私のプロジェクト用に設計されています。この仕様コードに見られるように、Python プログラムでビルドする 3 つのアイコンを含めました。プログラムが生成されると、これらのアイコンが埋め込まれたスタンドアロンの実行可能ファイルが作成されます。
しかし、非常に多くのファイルがある場合はどうなるでしょうか。プログラムで使用するアイコンが 1000 個あるとします。手動で spec ファイルに書き留めるだけでは不十分です。ファイル ディレクトリを読み取り、これらのファイルを動的に追加するには、ループ システムが必要です。しかし、これらのファイルを動的に追加する方法が見つかりませんでした。これらの非常に多くのファイルを手動で追加する機会はないと思います。知っている人はシェアしてください。
python - PyInstaller で複数のスクリプトをパッケージ化する
私は PyInstaller を使用して、2 つのスクリプトを 1 つの実行可能ファイルに変換し、そのうちの 1 つが他のスクリプトを呼び出します。私が抱えている問題は、2 つのスクリプトをバンドルして相互に参照させる方法がわからないことです。
問題の原因となるコードは、1 つのスクリプトに次のものscript1.py
が含まれていることです。
これは、スクリプトを通常どおり実行すると正常に機能しますが、PyInstaller にパッケージ化されると、呼び出しを機能させる方法がわかりません。
python - PyinstallerでPyQt4をコンパイルするときにエラーが発生しました
以前は、py2exeのために、pycompiler(または「pyinstaller」)を使用して、PyQt4フレームワークを使用するプログラムを実行可能コードにコンパイルしていました。
最近コンピューターを切り替えましたが、まだPyQt4プログラムをコンパイルできていません。
このコンピューターでは、pyinstaller.pyファイルのディレクトリを持つ環境変数%pycompile%を設定しました。
これが私がcmd.exeにプラグインしたコードで、PythonコードNOTIMPORTPYQT4で動作しています。
ただし、PyQt4ベースのプログラムをコンパイルしようとすると、PyQt4プログラムをコンパイルしようとすると、pyinstaller.pyによってインポートされたPythonファイル内から(私の解釈では)発生する構文エラーが発生します。"exec_ = exec"
古いコンピューターで使用していたものと同じビルド(216)のpycompileを使用しています。どちらも32ビットのWindowsと32ビットのPython2.7.2を実行します。
すべての助けが欲しかった!
(MASSIVEプログラミングプロジェクトをコンパイルできないことに驚いています!)
PyQtでのpyinstallerエラーに関するStackの質問をかなり読みましたが、特定のエラーではありません。
ありがとう!
私のコードは次で始まります:
そしてで終わる:
python 2.7.2(32ビット)
pycompileビルド(216)
PyQt4(4.5)
Windows 7(32ビット)