環境構築のバッチファイル化
Pythonの仮想環境はvenvを使うことで作成できます。
コマンドプロンプトから実行できるということは、=バッチファイルにまとめることができるということになります。djangoなど環境構築までの手数が多い作業で重宝します。
pythonの環境のみをインストールする例
ルートフォルダ名python_django_helloと仮想環境名envは任意のものにしてください。
sample01.bat
mkdir python_django_hello
cd python_django_hello
python -m venv env
さらにpipのインストール&アップグレードする例
外部ライブラリを使うと思うのでpipをインストールします。
sample02.bat
mkdir python_django_hello
cd python_django_hello
python -m venv env
cd env
Scripts\python.exe -m pip install --upgrade pip
外部ライブラリをインストールする例
pandasを使う場合の例
sample03.bat
mkdir python_django_hello
cd python_django_hello
python -m venv env
cd env
Scripts\python.exe -m pip install --upgrade pip
rem 外部ライブラリpandasインストール
Scripts\pip install pandas
Djangoのインストールに加え、一連の処理をまとめたパターン
スーパーユーザーの作成のところでは、ユーザー名・パスワードを入力する必要があります。
一部、対話的なやりとりになります。
sample04.bat
mkdir python_django_hello
cd python_django_hello
python -m venv env
cd env
Scripts\python.exe -m pip install --upgrade pip
rem 外部ライブラリdjangoインストール
Scripts\pip install django
rem プロジェクトの作成
mkdir project
cd project
django-admin startproject config .
rem アプリの作成
python manage.py startapp app
rem データベースの作成・初期化・スーパーユーザの作成
python manage.py makemigrations
python manage.py migrate
python manage.py createsuperuser
pause
スーパユーザー作成の部分について
スーパユーザー作成の部分はインタラクティブ(対話的)になるので、一括で作成できません。
そこで、createsuperuserに引数を与えて、対話的な部分も自動的に処理したいところですが、パスワードの部分は対話的にしか作成できず。この方法ではコマンドラインからの一括作成ができません。
createsuperuser.pyをカスタマイズすることで解決できるらしいですが、ここれは触れません。
まとめ
参考になれば幸いです。