2012-04-23 12 views
5

私は多くの同僚に配布するいくつかの小さな科学プログラムのために約2年からwxPythonを使用しています。私はwxPythonが好きです。私はすでにそれに精通していますが、wxPythonのせいではなく、実際に私はそれを使い続けたいと思っています。Pythonデスクトップアプリケーション

1)私は多くのユーザーがいますオペレーションシステム。私はwxPythonがクロスプラットフォームであることを知っていますが、私はすでに、異なるオペレーティングシステムに毎回私の小さなソフトウェア(そしてもっと多くのもの)を移植する神経や時間はありません。特に私はそれらのいくつか(Windows7、Mac)を使用していないので、問題やユーザーの要求を解決することは難しいです。

2)すべてのスタンドアロンを再度生成してアップロードし、再度インストールしてインストールするという意味で、私たちはソフトウェアをかなり更新しています。厄介な...

私は既にWebフレームワークに切り替えることを考えていましたが、いくつかの問題があります。まず、多くのユーザーが自分のソフトウェアをオフラインで使用したいと考えています。旅行やインターネットを持たない場合。次に、サーバーには絶対に移動しないでください。それは特許についてのことであり、常に議論になるので、私のプログラムのいくつかは、物事を単純化するためにスタンドアローンのデスクトップアプリケーションにすることを好みます。他のものはオンラインで問題はありません。

一般的に、私はブラウザベースのソリューションを気に入っています。誰もがブラウザを持っているからです。 Djangoプロジェクトをスタンドアロンのデスクトップアプリケーションとして移植した人もいますが、それは悪い考えではありませんでした。私はキャメロットについても赤いですが、これはむしろデータベースのためだと思います。 Camelotは、むしろデータベース検索と抽出プログラムである私のツールのいくつかにのみ役立ちます。しかし、他の人はデータベースをまったく使用しません。

誰も私の提案をすることができます、私のツールのための良い解決策は何ですか?

答えて

5

たとえば、 UIを提供するフラスコ。

通常のようにアプリケーションを作成しますが、GUIはありません(通常は論理とGUIを分離する必要があります)。その後、例えばFlask(私はこのマイクロフレームワークが本当に好きですが、Bottleのようなものもあります)を使ってUIをウェブサイトの形で書くことができます。このウェブサイトをローカルで実行することができます(これはコードの1行です:app.run()、ウェブサーバーではURL http://localhost:5000で開きます)。 apacheまたはnginxで

+0

この回答に欠けている成分は、https://www.reddit.com/r/Python/comments/21evjn/is_it_possible_to_deploydistribute_flask_as_an/です。それは、Webアプリケーションを配布する方法について語っています –

2

FlexをPythonで使用することはどうですか?あなたのインターフェースは移植可能です(Flexはフラッシュファイルを作成するので)。あなたはPythonを使ってインタフェースを配線することができます。

さらに、(あなたのアプリに基づいて)それらをウェブにデプロイするか、Flexでネイティブの実行可能ファイルとしてラップするかを決めることができます。

あなたが挑戦するのは、Windows用のアプリケーションをパッケージ化し、Pythonを正しくパッケージ化するために必要なはずです。

1

これは、ユーザーがアプリケーションを使用する方法に適合しない可能性がありますが、Linux仮想マシン(VirtualBoxはホストとして最も一般的なオペレーティングシステムをサポートしています)を作成し、その代わりに配布するオプションがあります。

これは、開発対象の単一のターゲットを提供し、選択したディストリビューション(Apt、Yumなど)の更新メカニズムを調べると、独自のサーバーをソースとして追加できるはずですユーザーが何もしなくても、VM自体を更新することができます。

+0

それは興味深い考えです、私は仮想マシン(http://www.dnalinux.com/)を使って私のツールに似た何かを見つけました。 GUIの作り方wxPythonで書かれた古いコードを使用することはできますか? – snowflake

関連する問題