2012-05-10 4 views
14

特定のバージョンのPythonインタプリタ(2.7)をインストールできるWindows用のインストーラを作成し、ipython、numpy、pandasなどの依存関係を設定する必要がありますPython用Windowsインストーラの作成+依存関係のセット

これは基本的にアクティブなPythonディストリビューションのアクティブステートと同じです:インタープリタ+ depsを含む単一のバンドルです。

Windowsユーザーではない私はNSIS(これは助けになるかもしれませんか?

+1

AFAIK、アイデアは 'py2exe'または' cx_freeze'を使って実行可能ファイルを作成し、NSISまたはInno Setupを使ってインストーラを作ることです。しかし、それを試みたことはありません。 – KurzedMetal

+1

py2exeは、特定のpythonアプリケーションをexeファイルに変換することによって "フリーズ"することはありませんか? ここでの目標は、非常にPythonのiterpreter +第三者モジュールのセットを含むバンドルされたインストーラを作成することです。 –

+0

これは、 "フリーズ"とは何か、Pythonの実行可能ファイル/ dllと使用されているモジュールを '.exe'パッケージでバンドルしています。唯一の違いは、実際にはPythonをシステム全体にインストールしておらず、内容が壊れたり失敗したりしないということです – KurzedMetal

答えて

0

Pythonの既定のバージョンといくつかの依存関係をパッケージ化する場合は、NSISとAutoItを使用することをお勧めします。

NSISを使用して他のインストーラを埋め込むことができますが、Pythonモジュールの特定のケースでは、インストーラの一部を無人モードで使用することはできません。この問題を回避するために、AutoItを使用してキーストロークをシミュレートすることができます。 http://nsis.sourceforge.net/Embedding_other_installers

のAutoItウェブサイト:NSISに他のインストーラを埋め込む詳細は

http://www.autoitscript.com/site/

7

私はまたTools/msi/msi.pyであるPythonのリリースを構築するために使用するパッケージングツールを使用することをお勧めします。 Pythonソース(またはインストール)の上に追加の依存関係を解凍し、msi.pyを調整して、パッケージ化する追加フ​​ァイルをすべてピックアップします。表示文字列を調整して、これが本当に別個のPythonディストリビューションであることを示す必要があります。

3

Windowsの場合はpynsistです。それは内部的にNSISを使用し、Pythonをバンドルするので、必要はありません。たとえば、creating an installer for a PyGTK applicationのような便利な例があります。

免責事項:私はpynsistをまだ試していませんが、間もなくなります。

関連する問題