2009-10-29 6 views
17

すぐにbeta appを起動する予定です。Pythonにカスタム統合スクリプトを作成するオプションがあります。PythonをWindowsユーザーに配備する方法は?

アプリはMac OS XとWindowsをターゲットにしていますが、私の問題はPythonが通常存在しないWindowsの問題です。

私の実際のaproachはサイレントモードでPython 2.6のインストールを実行します。しかし、私はデフォルトで起動されていない問題に直面しており、パスはcommand line optionsを使用すると設定されません。 Pythonが以前にインストールされていて、新しいバージョンにアップグレードすると、これは他のものに壊れてしまう恐れがあります...

こういうことがきれいにできるのだろうか。 Python 2.6ディレクトリ全体をコピーして、それを私のアプリケーションのサブディレクトリに置き、そこにすべてをインストールすればいいですか?あるいは、virtualenvはPythonの異なったバージョン(Pythonが既にマシンにインストールされている場合)を実行します。

また、PythonにDLLを組み込む前に遊んでいて、簡単に見つけましたが、デバッグする能力がなくなったため、コマンドラインプラグインに切り替えました。

コマンドラインからプラグインを実行し、STDOUTとSTDERRの出力を読み取ります。このアプリはDelphi/Lazarusで作られています。 JSONやRPCクライアント、Win32com、ORMなどのモジュールをインストールします。bitrockでインストーラを作成します。

更新:エンドユーザーは小規模企業のオーナーで、Pythonスクリプトは開発者が作成したものです。デプロイメントの追加手順を避けたいので、完全に統合されたセットアップが必要です。

+1

あなたのアプリケーションのREADMEファイルで、Python 2.6をダウンロードしてインストールする行に何か問題がありますか? MSIがPython MSIをインストールする2部構成のMSIを作ることに何が問題になっていますか? –

+2

私はスムーズなインスタレーション体験をしたいので、)。 私は既に2つの部分のセットアップがあります。 python msiはインストールされていますが、起動されていないか、パスが変更されていません。また、私は、他のバージョンのPythonがすでにインストールされている状況に直面しています。 – mamcx

+1

エンドユーザーは小さなコパニですので。 Pythonスクリプトは開発者が作成したものです。実行するための別のステップが展開の障害であり、回避したい(.net&javaの問題のようなものです) – mamcx

答えて

13

Portable PythonフォルダをインストーラからDelphi/Lazarusアプリケーションと同じフォルダにコピーします。すべてのパスを適切に設定します。

+0

私はついにこのようなことをします。完全なpythonフォルダをサブインフォンとしてcopinstして、すべてのモジュールをpreinstaledしてから、パスを指定してください。 – mamcx

+0

"可能な限り簡単なこと"が実行可能な戦略であることは驚くべきことです。 –

11

py2exeを試してみることもできます。既に含まれているPythonで.exeファイルを作成します。

+0

これは、私にとっては機能しません。なぜなら、製品の重要な部分は、Pythonでプラグインを作成できるからです。私のアプリがApacheで、誰でもPythonやPHPで自分のウェブサイトを構築できるかのように考えてください。 – mamcx

4

P4DでPythonインタプリタをDelphiアプリケーションに統合します。これらのコンポーネントは実際には両方向で動作します(Delphiクラスはバイナリ拡張としてPythonに、DelphiクラスはDelphiでPythonインタプリタに公開されています)。私はGoogle Codeの "issues"ページでLazarusとの互換性のためのパッチも見ましたが、未解決の問題があるようです。

1

PyInstallerやpy2exe、Pythonで書かれたプラグインなどのツールと.EXEパッケージを組み合わせても問題はないと思います。作成された.EXEは、どこにインストールされているのかを簡単に検出することができ、内部のコードはあらかじめ決められたプラグインディレクトリからimportファイルだけを取得できます。 Pythonスクリプトを実行可能ファイルにパッケージすると、Pythonインタプリタが内部にパッケージ化されるので、そこには独自のコードでカスタマイズされた完全なPython環境があることを忘れないでください。

+0

ええと...同じツールがosxとlinuxで利用できる点を除いて。ですから、最も良い、より簡単な方法はship .pyファイルです。 – mamcx

+0

mamcxというコメントの文脈を理解できません。必ずすべてのプラットフォームでpy2exeを使用できますが、.pyプラグインは変更する必要はありません。 –

+0

py2exeのウェブサイトによると、Windowsの場合のみです...または私は何かが恋しいですか? – mamcx

関連する問題