Repolode
takluyver

takluyver/pynsist

Pythonアプリケーション用のWindowsインストーラーを作成するツールで、Python本体も同梱するため、ユーザー側でのインストールは不要です。

スター
992
フォーク
125
未解決の Issue
36
最終コミット
3 か月前

これは何?

Pynsistは、PythonアプリケーションをWindowsインストーラーにまとめます。生成されるインストーラーにはPythonインタープリターが含まれるため、Pythonがインストールされていない環境でも、アプリケーションのインストール後に実行できます。

アプリ名、バージョン、エントリーポイント、アイコン、追加ファイルなどをinstaller.cfgファイルに記述して設定します。依存関係は、PyPIから取得するパッケージ(wheelの提供が必要)か、ローカルのwheelファイルとして指定します。pynsistコマンドを実行すると、NSISを使って実行ファイル形式のインストーラーが作成されます。

このツールはPyPIからインストールでき、コマンドとして、またはpython -m nsistで実行できます。そのため、より大きなビルドパイプラインのステップとして組み込めます。

主な機能

  • 01WindowsインストーラーにPythonインタープリターを同梱
  • 02シンプルなinstaller.cfgファイルで設定
  • 03依存関係をPyPIからwheelとして取得するか、ローカルのwheelファイルを使用
  • 04追加ファイルやデータフォルダーをインストーラーに同梱
  • 05コマンドまたはpython -m nsistとして実行でき、ビルドスクリプトから利用可能

ユースケース

  • PythonがインストールされていないWindowsユーザーへのPythonデスクトップアプリケーションの配布
  • リリース用ビルドパイプラインの一環としてインストーラー作成を自動化
  • 依存関係を含む、単体で動作するPythonツールをエンドユーザーに提供

クイックスタート

  1. 1

    ダウンロードページからNSISをインストールする

  2. 2

    PyPIからpynsistをインストールする

    pip install pynsist
  3. 3

    installer.cfg設定ファイルを作成する

  4. 4

    インストーラーを生成する

    pynsist installer.cfg

使う前に知っておきたいこと

  • Windowsインストーラーのみをビルドするため、Windows向けの配布が対象です。
  • 使用する前にNSISを別途インストールする必要があります。
  • Pynsist 2.7にはPython 3.6以上が必要です。それ以前のPythonバージョンでは、更新が終了している古いPynsistリリースが必要です。

収録されている特集

トピック

よくある質問

pynsist とは?
Pythonアプリケーション用のWindowsインストーラーを作成するツールで、Python本体も同梱するため、ユーザー側でのインストールは不要です。 Pynsistは、PythonアプリケーションをWindowsインストーラーにまとめます。生成されるインストーラーにはPythonインタープリターが含まれるため、Pythonがインストールされていない環境でも、アプリケーションのインストール後に実行できます。
pynsist は無料で使えますか?ライセンスは?
pynsist は Other ライセンスのオープンソースです。商用製品で使う前にライセンス条件を確認してください。
pynsist は今もメンテナンスされていますか?
半年以内に更新あり。pynsist の最終コミットは 2026年8月20日 です。
pynsist は何に使えますか?
PythonがインストールされていないWindowsユーザーへのPythonデスクトップアプリケーションの配布 リリース用ビルドパイプラインの一環としてインストーラー作成を自動化 依存関係を含む、単体で動作するPythonツールをエンドユーザーに提供
pynsist のインストール方法は?
ダウンロードページからNSISをインストールする PyPIからpynsistをインストールする: pip install pynsist installer.cfg設定ファイルを作成する インストーラーを生成する: pynsist installer.cfg
pynsist はどこで入手できますか?
ソースコードとインストール手順は GitHub にあります:https://github.com/takluyver/pynsist

概要はプロジェクトの README をもとに AI が生成しています。GitHub の数値は毎日更新されます。

関連プロジェクト