問題タブ [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プログラムを高速化しますか?
私はexeにコンパイルしたいかなりの「重い」Pythonプログラムを持っています。
プログラムにはかなりの量のインポートがありますが、PyQT4フレームワークを使用して、スプラッシュスクリーンが表示されている間にこれらのインポートをロードします。
pyinstaller(cmd内)を使用して、このプログラムを単一の.exeファイルにコンパイルします。
ただし、かなりの量のモジュールがインポートされている間(特にsympyを含む)にスプラッシュスクリーンが表示されるように設定されていても、Pythonを実行すると即座に適切な時間枠で表示されますが、
生成された.exeを実行すると、スプラッシュスクリーンが表示されるまでに深刻な遅延が発生します。これは、プログラム全体が読み込まれる前のごく短時間しか表示されません。
私の疑惑は、.pywから.exeにコンパイルすると、実際の「コード」が高速化されますが(したがって、スプラッシュスクリーンが短くなる理由)、プログラムの実行の実際の「開始」が遅くなることです。
.exeが「それほど遅く起動しない」ようにこれを修正するにはどうすればよいですか?
(--onefileへのコンパイルが大きく貢献していると思いますが、.exeファイルをすべての.dllから1つ上のフォルダーにする必要があり、pyinstallerにこれを実行させる方法がわかりません)
ありがとう!
Windows 7
python 2.7.2
pyinstaller
PyQt4
python - pyinstaller によって作成された .exe がキーボードの割り込み後でも再起動する原因は何ですか?
うっかりフランケンシュタインを作ってしまいました。
インタープリターではすべて正常に動作python pyinstaller.py --onefile myFile.py
しますが、.exe を作成するために実行した後、実行すると奇妙な動作を開始します。main()
一見ランダムに関数を呼び出しているように見えます。
コードは次のようになります。
非常に単純なもので、私が言ったように、インタプリタでうまく動作します。画面上の変更を検索し、スナップショットにタイムスタンプを付けるだけです。
ランダムに発砲する原因は何main()
ですか? キーボード割り込みの前でもそれを行うことがあります。
pyinstaller - pyinstaller を使用してデプロイされたプログラムを実行すると、「atexit という名前のモジュールはありません」
まず、マシンは Fedora 13 を実行しており、PyInstaller のバージョンは 1.5.1 です。
仕様を生成するときに --onefile を使用しました。
Python インタープリター内から「import atexit」を実行してもエラーは発生しませんでした。
バイナリの実行からのトレースバックは次のとおりです。
python - Python初心者:インポートmysite.manageは失敗しますか?
免責事項: 私は python と django は初めてですが、Drupal プログラミングの経験があります。Windows 7 を使用しています (Windows XP でも同じ問題が発生します)。
Python 2.7 と Django-1.3.1 で、デフォルト プロジェクトの作成に成功しました
次に、djsite の親ディレクトリにある bootstrap.py というファイルで、ここ (http://www.pyinstaller.org/wiki/Recipe/DjangoApplication) で説明されているように、djsite.manage を次のように「ブートストラップ」する必要があります。
それでも、コンパイラが次のことを確認するとすぐに:
「エラー: 'C:\Python27\Lib\site-packages\djsite\manage.pyc' を含むディレクトリにファイル 'settings.py' が見つかりません。 . django-admin.py を実行して、設定モジュールを渡す必要があります。" そして、この状況でエラーのアドバイスに従う方法がわかりません。
ただし、代わりにbootstrap.pyで次を発行すると:
スクリプトは正しく動作しますが、Pyinstaller が壊れます (このソフトウェアのメーリング リスト (http://groups.google.com/group/pyinstaller/browse_thread/thread/174a72e26c26a44c) で既にこの質問をしました)。パスを追加してもPATH 変数の djsite にアクセスすると、同じエラーが発生します。
ここでの私の質問は次のとおりです: なぜこのアプローチで manage.py モジュールのインポートが失敗するのですか? どうすれば続行できますか? ありがとう!
python - PyInstallerで作成されたアプリの起動が遅い
Pythonで記述され、PyInstallerで「コンパイル」されたアプリケーションがあります。また、GUIフレームワークにPyQtを使用します。
このアプリケーションの実行には、メインウィンドウが読み込まれて表示されるまでに約10秒の遅延があります。私の知る限り、これは私のコードの遅さによるものではありません。代わりに、これはPythonランタイムの初期化が原因であると思われます。
問題は、このアプリケーションがカスタムlaucncher/taskbarアプリケーションで起動されることです。ユーザーはボタンをクリックしてアプリを起動し、何も起こらないように見えることを確認してから、別のアプリケーションの別の場所をクリックします。私のアプリケーションがウィンドウを表示するとき、SetForegroundWindowのルールにより、フォアグラウンドに到達できません。
PyInstaller win32ローダー、Pythonコード、さらにはランチャーコードのソースにアクセスできます。
私の質問は次のとおりです。
このアプリケーションをより速く起動するにはどうすればよいですか?
プロセスの存続期間の最初の数秒間に費やした時間を測定するにはどうすればよいですか?
最初のウィンドウが表示されるまでの時間を短縮するために一般的に受け入れられている手法は何ですか?
スプラッシュ画面を追加しないようにしたいのは、2つの理由からです。1つは役に立たないと思います(オーバーヘッドはPythonコードが実行される前です)、2つはスプラッシュ画面が好きではありません:)
必要に応じて、PyInstallerローダースタブを編集してウィンドウを作成することもできますが、それは私が採用したくない別のルートです。
python - PyInstaller:IOError:[Errno 2]そのようなファイルまたはディレクトリはありません:
Scientific、MMTKなどのモジュールを備えたpyinstallerを使用してPythonスクリプトをコンパイルしようとしています。Pyinstallerはいくつかの.pydモジュールを含めることができなかったので、それらを手動でdistフォルダーにコピーしました。コンパイルされたexeを実行すると、次のエラーが発生しました:-
ところで、私はその場所でoutPYZ1.pyzファイルを見ることができます。何か案が?
python - Pyinstallerがmatplotlibで機能しない
pyinstallerを使用してmatplotlibで簡単なプロット用の実行可能ファイルを作成しようとしています。しかし、私はそれを正しく理解できないようです。これが私のコードです、
これは、そのように見えるはずです、![ここに画像の説明を入力してください] [1]
これは、生成されたexepyinstallerを使用したときに得られるものです。![ここに画像の説明を入力してください] [2]
ツールバーがないようです。
これは、pyinstallerが作成したディレクトリのスナップショットです。
助けてください。私はかなり長い間これに取り組んできました。pyinstallerがいくつかのDLLを忘れた可能性がありますか?
python - インストールに関する混乱の霧を取り除きますか、OSX 10.7.3 Lion に libsndfile をインストールする方法は?
これは長い投稿なので、質問を一番上にまとめて簡単にまとめます。
Lion がリリースされてから、ほとんどの Python ライブラリなどを最終的にインストールできるようになりました。バイナリ インストールを使用する必要があります。libsndfileに関しては行き詰まっています。libsndfile をインストールする最良の方法は何ですか? また、関連する場合は、この残りの部分をインストールしますか?
詳細が必要な場合は読み進めてください...私は次を使用するプログラムに取り組んでおり、最初はOSX 10.7.3で開発しており、WinXpとWin7でもクロスプラットフォームを構築できる必要があります:
これらはすべて OSX 開発マシンにインストールされており、すべてがデバッガーの下で動作します。pyinstaller でビルドしようとすると、問題が発生します。これは、インストールがバイナリ インストール、ソースからのビルド、easy_install、pip、および HomeBrew の歴史的な寄せ集めであるためです。役に立たないMacPortsのインストールから引き出されたいくつかのファイルがあります。一部のライブラリは、Lion ベータ版を実行していたときにインストールされたもので、Lion で動作させるのが難しいものでした。
私の考えでは、Lion は十分に長い間リリースされてきたので、よりクリーンなインストールが可能になるはずであり、特に pyinstaller を使用すると、今後の作業が簡素化されるはずです。新しい Lion VM を作成し、次のことを行いました。
libsamplerate の i386 アーキテクチャと x86_64 アーキテクチャについてはよくわかりませんが、これまでのところすべてうまくいっています。戻ってアーキテクチャごとに 1 回インストールしてから、ユニバーサル バイナリを作成する必要があるかもしれません。
次は、scikits.audiolab に必要な libsndfile です。依存関係が拡大し続けているため、これは問題です。
私が取得していた stpncpy エラーがいくつかの場所に投稿されていたため、Gettext は苦労しましたが、実際に問題を修正するパッチを見つけるのは少し面倒でした。
リストしたすべての依存関係を明らかにビルドした後でも、libsndfile はエラーなしでビルドされず、立ち往生しています。
libsndfile を機能させるのに失敗して費やした時間を見て、基本的なアプローチに疑問を持ち始めています。私には、すべてのエラーを把握して、限られた時間内に適切な変更を加える能力がないようです。
パッケージマネージャーのパスに戻っていることに気づきました... easy_install to pip and HomeBrew; しかし、MacPortsだけが処理できるように見えるものもありますが、全体的なMacPortsは、私が受け入れられない方法でPythonを台無しにし、pyinstallerはMacPortsを嫌っています。これをやると、元に戻るかもしれないし、戻らないかもしれませんが、できたとしても、実際に必要な部品がどれなのかわからなかったり、開発環境を長期にわたって維持できなかったりするのではないかと心配です。
python - Pywin32 / PyInstaller を使用すると、Windows サービス コードでスレッド エラーが発生する
pyinstaller から生成された python exe を使用して Windows サービスを作成すると、エラーが発生します。エラー メッセージは無害かもしれませんし、サービスの動作に影響を与えていないようにも見えますが、裏で別の問題が発生しているかどうかはわかりません。pywin32 ライブラリを使用して、アプリケーションを Windows サービスとしてインストールしています。pywin32 の PythonService.exe を使用して、python スクリプト自体からインストールする場合、pyinstaller で生成された実行可能ファイルからのみ、このエラーが発生しないことに注意してください。
pyinstaller を使用すると、Windows サービス コードから exe を生成してインストールできますが、問題ありません。サービスも開始できます。問題ありません。サービスを停止することもでき、アプリケーションは適切にシャットダウンされたように見えます。ただし、停止を開始すると、win32traceutil.py の実行中にコンソールに次のエラーが表示されます。
イベント ログにエラーは記録されません。私はそれをpython loggingモジュールまでさかのぼることができました。logging モジュールをインポートするだけで問題が発生するようです。インポートをコメントアウトすると、エラーが解消されます。これが問題の原因であることは明らかですが、標準ライブラリのモジュールで pyinstaller に問題があるのは奇妙だと思います。他の誰かがこれに遭遇しましたか?
Python 2.6.6、Pyinstaller 1.5.1、Pywin32 の Build 217 を実行しています。私はWindows XPを使用しています。
そして、私のコードの簡素化されたバージョン:
python - Pythonスクリプトにアイコンを埋め込む
スタンドアロンの実行可能ファイルを(pyinstallerを使用して)作成するときに.icoファイルを含める必要がないように、Pythonスクリプトにアイコンを埋め込む方法を知っている人はいますか?私はこれがpy2exeで可能であることを知っていますが、私の場合、前者を使用することに成功しなかったので、Pyinstallerを使用する必要があります。私はTkinterを使用しています。
私は知ってiconbitmap(iconName.ico)
いますが、1ファイルを実行可能にしたい場合は機能しません。