前回の続きになります。前回の記事はこちら。
このシリーズの最後として、この記事のプログラミングをする上で必要となるIT技術について、簡単に説明します。
git
gitはバージョン管理のソフトウェアでオープンソース(無料)です。ググればダウンロードサイトが見つかると思うので、まず、インストールしてみて下さい。例えば、Windowsだとこちらのサイトです。 gitはgithubを利用するのに必要となります。
githubにプログラムをアップロードするまでの流れ
1番は、github上の作業、2番以降は自分のPCでの作業になります。事前にgithubサイトでのアカウント作成と、gitのインストールを行ってください。
1.github画面で、右上の「new repository」を実行。例えば、名前をchatbotにすると、
「https://github.com/(ユーザー名)/chatbot.git」ができるので、これを各コマンドで使用します。
2.Windowsならコマンドプロンプトで、アップロードしたいファイルのルートフォルダまで移動し、「git init」を実行。gitの初期ファイルが作成されます。このコマンドで.gitの隠しフォルダができます。
3. 「git add .」を実行。新規/更新したファイルがインデックス情報に反映されます。
4.「git commit -m “(何か適当な文言)”」を実行。アップロード対象候補としてコミットされます。
5.最後に自分のPCのプログラムをgithubにアップロードします。以下のコマンドを順番に実行します。
git branch -M main
git remote add origin https://github.com/(ユーザー名)/chatbot.git
git push -u origin main
6.5の反映作業ですが、2回目以降のアップロードは少し簡単になり、3,4を行なった後、「git push」を実行します。
Pythonanywhere
Djangoの開発方法として、まずは自分のPC(ローカル環境)でテストして、それからサーバー/クラウドにアップロードするやり方が一般的です。今回も同様で、自分のPC(ローカル環境)でテストしてからPythonanywhereへアップロードします。
Pythonanywhereへプログラムをアップロードするにはgithubを経由します。つまり、まず、自分のプログラムをgithubにアップロードし、それからpythonanywhereに反映させます。
githubのプログラムをPythonanywhereに取り込むまでの流れ
まず、事前にこちらのPythonanywhere のサイトで、アカウントを作成しておきます。
1.Pythonanywhere画面で、右上の「Web」を選択
2.画面左の「Add a new web app」を選択し、画面の選択肢を選んでappを作る
3.Appができたら、Webタブ画面のVirtualenvで「Start a console in this virtualenv」を選択
4.以下のコマンドを実行すると、githubからの取り込みから不足パッケージの取り込み(※)まで自動で行います。
pa_autoconfigure_django.py https://github.com/hoppara/pythonanywhere.git
あるいは
pa_autoconfigure_django.py https://github.com/hoppara/pythonanywhere.git –nuke
5.再度、Pythonanywhere画面で、右上の「Web」を選択し、「Reload」のボタンを押す
※ご参考:不足パッケージの取り込みを個別に行いたい場合は、以下の手順で環境間のpythonパッケージの差分を反映することができます。
1.ローカルPCで、requirements.txtを作る
pip freeze > requirements.txt
2.サーバー/クラウドで、pythonパッケージをまとめてインストール。
pip install -r requirements.txt
Sqlite3
pythonデフォルトのデータベースはSqlite3になりますので、特に設定をしなければ、djangoのフォルダに、db.sqlite3がファイル形式で自動作成されます。
詳しい使い方は、こちらのSqlite3のサイトで確認下さい。
まとめ
如何だったでしょうか。意外と少量のコーディングで本格的なチャットボットが作れました。先達の方々のパッケージ/ライブラリのクオリティが高いおかげです。とてもありがたいことです。
この記事を見て、チャットボットを作ってみたいと思う人が増えてくれるとうれしいです。以上、読んで頂きありがとうございました。