問題タブ [py2app]
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/py2app アプリケーションを作成していますか?
基本的に SMS モデム用の HTTP プロキシである素晴らしい Python アプリケーションを作成しました。これを Mac でダブルクリック可能なアプリケーションにしたいと考えています。これまでのところ、ダブルクリック可能な.commmandファイルを含めてきました。これは基本的に
メインの .app 実行可能ファイルを別の場所で呼び出すにはどうすればよいですか / または、基本的に端末ユーティリティのラッパーであり、その出力のみを表示するアプリケーションを作成する最も簡単な方法は何ですか? 現在、アプリケーションをダブルクリックすると、Mac でオープン ユーティリティが使用されます。アプリケーション アイコンをダブルクリックしたときに Contents/MacOS/slingshotsms をダブルクリックする動作をエミュレートしたいと考えています。任意のヒント?
python - py2app を使用する場合、表示されるトレースバック ダイアログをカスタマイズする方法はありますか? (または、別の Cocoa ダイアログを表示しますか?)
py2app トレースバック ダイアログをさらに制御する簡単な方法、または GUI メッセージを表示する良い方法はありますか?
py2app スクリプトで例外を発生させると、次のようなダイアログが表示されます。
MyAppName エラー
MyAppName エラー
メイン スクリプトの実行中に予期しないエラーが発生しました
MyRaisedError: これは、エラーを発生させたときに制御できるテキストです。
コンソールを開くボタンと終了ボタンがあります。私のスクリプトは、特定の DVD がドライブにあるかどうかを確認する必要があります。そうでない場合は、エラー ダイアログを表示して終了します。テキストの一部しか変更できず、ボタンを制御できないため、これよりも詳細に制御したいと考えています。
AppleScript を介して「ダイアログの表示」を行うために osascript を呼び出してみましたが、次のようなエラーが発生しました: 0:19: 実行エラー: ユーザーの操作は許可されていません。(-1713) こういうやり方は特に好きじゃないんだけど、これくらいしか出来ないなら…
Cocoa Dialogsのような大きなプロジェクトや PyObjC プロジェクトのようなものは含めたくないのですが... スクリプト自体は非常に小さく、ダイアログを取得するためだけにスクリプトの 10 倍の肉を追加することはできません。
python - py2appとxml.etree.ElementTree
Pythonの組み込みxml.etree.ElementTreeクラスを使用していくつかのxmlデータを使用するアプリを構築しようとしています。コマンドラインから実行すると正常に動作しますが、ビルドすると「ImportError:Nomoduleetree.ElementTree」というエラーが発生します。これは、そのモジュールを正しくインポートしていないためだと思いますが、その方法を理解できていません。「includes」または「packages」ディレクティブを使用すると、py2appは同じエラーで文句を言います。特に、package_dir(/ System / Library / ...)を指定すると、コンパイルされますが、それでもエラーが発生します。問題を説明するための短い例を含めました。
macxml.py
これにより、「<Element Library atxxxxxx>」が出力されます。ここで、Libraryはルート名です。
setup.py
Macアプリにこのライブラリを利用させる正しい方法は何ですか?
Python 2.6.4
Mac OS X 10.6.2
編集:Python 2.6.2を搭載した別のMac(PPC 10.5.8)でもこれを試し、同じ結果を達成しました。
python - py2appがBeautifulSoupを見つけられない
py2appを使用してスタンドアロン アプリにしたいBeautifulSoupを使用するスクリプトがあります。py2app で作成したアプリを実行すると、モジュール BeautifulSoup が見つからないというエラーが表示されます。私のsys.pathには「/Library/Python/2.6/site-packages/BeautifulSoup-3.1.0.1-py2.6.egg」があるので、そこにあるはずだと思われますが、何かアドバイスはありますか?
py2app - py2app は python3 をサポートしていますか?
python 3.1.1 と pyqt 4.6 を使用して Windows でアプリケーションを開発しました。py2app は python 3.1.1 をサポートしていますか。
ここに質問を投稿しています bcoz. 彼らのどの文書にも特に言及されていません..
前もって感謝します..
python - py2app の処方箋
py2appのドキュメントには__boot__.py
、メインの python スクリプトの前に実行される prescripts が記載されています。setup.py ファイルまたはビルド プロセスで任意の prescript を簡単に指定する方法が見つかりませんでした。
__boot__.py
ただし、手動で「ハッキング」し_run(prescript)
て、メインの前に別のコマンドを追加することはできまし_run(main_script)
たが、うまく機能しているように見えました。ただし、標準の py2app ビルド プロセスを使用する方がはるかに優れています。
私が本質的にやろうとしているのは、メイン スクリプトが起動される前に、sites-packages.zip ファイルにモンキー パッチを適用することです。プリスクリプトは基本的に、サーバー上の更新をチェックし、更新がある場合はダウンロードしてから、site-packages.zip ファイルを上書きします。アプリケーションを最初から再インストールするよりもはるかに迅速です。
何か案は?
python - アドオンや拡張機能をサポートするために、Pythonアプリを単一のファイルとしてバンドルしますか?
Pythonパッケージとそのすべての依存関係を取得し、それらを顧客に簡単に出荷できる単一のバイナリプログラムに変換するための、いくつかのユーティリティ(すべて異なる手順、制限、およびターゲットオペレーティングシステム)があります。
- http://wiki.python.org/moin/Freeze
- http://www.pyinstaller.org/
- http://www.py2exe.org/
- http://svn.pythonmac.org/py2app/py2app/trunk/doc/index.html
私の状況はさらに一歩進んでいます。サードパーティの開発者は、私のアプリケーション用のプラグイン、拡張機能、またはアドオンを作成したいと思うでしょう。もちろん、Windowsのようなプラットフォームのユーザーが、プラグインやアドオンがインストールされていることをアプリが簡単に検出できるように、プラグインやアドオンを最も簡単にインストールする方法は、気の遠くなるような質問です。しかし、その基本的な質問を超えて、別の問題があります。サードパーティの開発者は、プラグインの依存関係を同時にインポートできるように、拡張機能自体が必要とするライブラリ(lxmlなどのバイナリモジュールなど)に拡張機能をバンドルする方法を教えてください。プラグインが利用可能になる時間。
これにどのようにアプローチできますか?これを扱いやすくするために、アプリケーションにはディスク上の独自のプラグイン領域と独自のプラグインレジストリが必要ですか?または、単一の実行可能ファイルとして配布されているアプリが、単一のファイルとしてもインストールされているプラグインを探し回って見つけることができる、自分で作成することを避けることができる一般的なメカニズムはありますか?
python - 純粋なPythonアプリケーションバンドルのOSXメニューバーでアプリ名を変更するにはどうすればよいですか?
wxPythonアプリ用の純粋なPythonアプリケーションバンドルを作成しようとしています。Appleドキュメントで説明されているファイルやInfo.plistファイルなどを使用して.appディレクトリを作成しました。「通常の」アプリとこのバンドルの唯一の違いは、エントリポイント(CFBundleExecutable)が次のスクリプトで始まることです。ライン:
Info.plistでCFBundleNameを設定しましたが(実際にはpy2appの結果をコピーしました)、OSXメニューバーのアプリケーション名が「Python」のままであることを除いて、すべて正常に動作します。完全なInfo.plistはここで見ることができます。
どうすればこれを変更できますか?メニューバーの名前はCFBundleNameによってのみ決定されることをどこでも読んだことがあります。Pythonインタープリターが実行時にこれを変更できるのはどうしてですか?
注:以前はpy2appを使用していましたが、結果が大きすぎて(現在の100KBではなく> 50 MB)、LeopardとSnow Leopardの間で移植性さえありませんでした...したがって、純粋なものを作成する方がはるかに簡単なようです- py2appの出力を変換するよりも「手動で」Pythonアプリバンドル。
python - py2app、pyObjc、macportsのコンパイルエラー
私は現在、py2appを使用してcherrypyとdjangoを埋め込む小さなPythonアプリを書いています。私のアプリには小さなGUI(トップメニューバーの小さなアイコンとドロップダウンメニューで構成されています)が必要だったため、プロジェクトにpyobjcを含めようとするまではうまく機能しました。
pythonスクリプトは問題なく実行できますが(macportsでpython 2.6を使用しています)、py2appによって生成されたアプリケーションバンドルを起動できません。次のメッセージを含むダイアログボックスが表示されます。
私は簡単にやった:
しかし、何らかの理由でmacportsはopensslをビルドしようとしますが、これを使用すると毎回コンパイルが失敗します。問題はzLibに関連しているようです-これはログに表示されるものです:
...そしてここに:の出力がありfile /opt/local/lib/libz.dylib
ます
私には何も悪いことはありません。
私はここで少し立ち往生しています。opensslがpyObjcと何の関係があるのかさえわかりませんが、コンパイルできなければどこにも行けないようです。Macportsは本当に時々吸う:/
編集私はMacportsの問題を修正することができましたが、py2appの問題は修正しませんでした:/
python - Evt.TickCount()がOSX10.6.3のPython2.6で見つかりません
Python2.6では、Evtモジュール(Carbon import Evtから)はOSXのTickCount()に応答していないようです。しかし、Python2.5は問題ありません。
Python2.5では、返された整数を取得します。Python2.6では、次のようになります。
これはユキヒョウです。TickCount()を機能させるためにOSXで更新する必要のあるライブラリはありますか?py2appを使用しているため、実際にこの問題が発生しています。
バリーの答えの更新: 問題は、py2appが起動すると、作成するアプリケーションが次のようになることです。
.bash_profileにVERSIONER_PYTHON_PREFER_32_BIT=yesを追加しましたが、py2appが作成するアプリでも同じ問題が発生します。ただし、Pythonインタープリターは32ビットの修正に満足しています。しかし、それでもpy2appの解決策が必要です。