こんにちは、DXCEL WAVEの運営者(@dxcelwave)です!
- Djangoプロジェクトを実行ファイルに変換(Exe化)して、第三者に配布したい
- Pyinstallerを活用してPythonファイルをexeファイル変換する方法が知りたい
実行ファイル(.exe)とは?
実行ファイルとは、コンピュータでそのまま実行できるバイナリ形式のプログラムを指します。Windowsで主に使用され、拡張子は.exeとして取り扱わます。
EXE化したファイルを実行する場合、そのEXEファイルの動作由来となるプログラム言語環境に依存することなく、コンピュータ上で直接実行できるようになるのが特徴です。例えば、Pythonプログラムを由来とするEXEファイルも、Pythonの環境が無いPCに移行して実行できるようになります。
Pyinstallerとは?|Python.pyを実行ファイルに変換する準備
Pyinstallerとは、Pythonプログラムを実行ファイルに変換するためのライブラリです。
Pyinstallerの具体的な使い方についてはこちらの記事で解説していますため併せてご覧ください。
PythonプログラムをEXE化|Pyinstallerによる実行ファイル作成方法をWindows・Mac対応で解説
「Pythonファイルを実行ファイル(.exe)に変換したい」「Pythonファイルを第三者に配布したい」このような要望にお応えします。
【Pyinstaller】Django作成プロジェクト・アプリをexe化する方法
それでは実際にDjangoで作成したアプリをexe化する方法について解説します。
次のような手順に沿って1つずつ内容を確認していきましょう。
- 【事前準備】Pyinstallerのインストール
- 【事前準備】Djangoプロジェクト・アプリの作成
- 【実践】Djangoプロジェクトを実行ファイルに変換
- 【実践】実行ファイルを起動
【事前準備】Pyinstallerのインストール
Pyinstallerを利用する場合、事前に以下のコマンドを入力してインストールしておく必要があります。
pip install pyinstaller
【事前準備】Djangoプロジェクト・アプリの作成
実行ファイル変換元のDjangoプロジェクトおよびアプリを作成します。Djangoプロジェクト・アプリの作成方法については本記事で割愛していますが、以下の記事にて詳しく解説しています。適時参照下さい。
【Django】開発環境構築・プロジェクト開始チュートリアル|Python・Webアプリ作成入門#1
この記事は「Djangoフレームワークを活用したウェブアプリをゼロから開発したい方向け」です。事前に必要な環境設定方法や新規プロジェクト作成、簡易なWebアプリ作成に至るまでの流れを全て網羅した内容となっております。
【実践】Djangoアプリを実行ファイルに変換
前述で用意したDjangoプロジェクト・アプリをexeファイルに変換していきます。インタラクティブシェルのコマンド入力を通じて実現する方法について以下詳しく見ていきましょう。
【手順1】Djangoプロジェクトフォルダのディレクトリ確認
Djangoプロジェクトフォルダがあるディレクトリを確認します。
今回の例ではmyproject
とmyapp
で構成されるDjangoプロジェクトフォルダを実行ファイルに変換する方法について言及することとします。
【手順2】インタラクティブシェルを開き、Djangoプロジェクトフォルダを指定
インタラクティブシェル(Windowsの場合はコマンドプロンプト、Macの場合はターミナル)を開き、manage.py
直上のプロジェクトフォルダmyproject
があるディレクトリに移動しましょう。
例えば、Desktop/django/myproject
にプロジェクトフォルダがある場合、シェルには以下を入力します。
cd Desktop/django
【手順3】Pyinstallerを起動しEXEファイル作成
前述のインタラクティブシェルの操作にてDjangoプロジェクトフォルダがあるディレクトリに移動後、次のコマンドを実行します。
pyinstaller --name=django_exe_file myproject/manage.py --onefile
インタラクティブシェルには、pyinstallerと記述後、オプションコマンド--name
に作成する実行ファイル名を指定します。また、manage.pyがある相対パスmyproject/manage.py
を指定します。最後に、--onefile
というオプションコマンドを指定し、コマンドを実行しましょう。
【実践】実行ファイルを起動
実行ファイルを起動し、Djangoアプリが正しく動作するか確認してみましょう。
作成した実行ファイル確認
前述の実行ファイル作成コマンドを実行すると、myproject
と同じディレクトリにbuild
とdist
フォルダがそれぞれ作成されます。実行ファイルは、dist
直下に作成されますので確認してみましょう。
実行ファイルを起動
実行ファイルを起動する際は、インタラクティブシェルを再び用います。次のコマンドを実行しましょう。
dist/django_exe_file runserver localhost:8000 --noreload
dist/django_exe_file
では実行ファイルのあるディレクトリを指定しています。ここで、ディレクトリ指定の際は、必ず実行ファイルより上位の階層にあるディレクトリから相対パスを指定するようにしましょう。
インタラクティブシェルでdjango_exe_file
と同じディレクトリに移動し、django_exe_file
を直接指定してコマンドを実行すると、command not found: django_exe_file
というエラーに遭遇します。
runserver localhost:xxx
では起動するローカルサーバーを指定しています。
上記コマンドを入力後、ローカルサーバーhttp://localhost:xxx/
を開き、Djangoアプリが起動するか確認してみましょう。
【参考】Djangoの解説記事一覧
最後までご覧いただきありがとうございました。当サイトではDjangoフレームワークを用いた解説記事を多数取り扱っております。次のように体系的に整理しておりますため学習にお役立て下さい。
Django学習に最適!
当サイトが運営するDjango記事一覧
【参考】Pythonでできること・お仕事探し
最後に
お問い合わせフォーム
上記課題に向けてご気軽にご相談下さい。
お問い合わせはこちら