自宅で開発する環境の構築手順をまとめておこうと思います。
使用しているパソコンは平均以下のスペックで、Windows10を使用しています。ローカルPCで、AIの学習やLinux仮想環境を使うのは厳しいため、基本的に無料の範囲でクラウドサービスを活用した環境にしたいと思います。
開発環境の概要
想定する開発環境:Googleドライブ+Google Colaboratory+GitHub
- ローカルPCはWindows10のノートパソコン
- 基本的には、Google Colaboratoryを使って、ソースコードを実装する
- 実装が完了したら、Google ColaboratoryからPythonファイルをエクスポートする
- 機能が確認できたら、GitHubにpushする
他の選択肢
- 仮想環境(WSL2、VirtualBoxなど)
- Google Cloud Shell+Jupyter notebook+GitHub
- Google Cloud Shellの概要
- Googleのサービスで、ブラウザ上で、Linuxシェルを無料で使える
- LinuxはDebian系で、GUIは無し
- Googleのユーザとして、5GBのホームディレクトリが用意される(ただし、120日間アクセスが無いと削除される、事前にメールで通知あり)
- 1週間の利用時間は50時間まで
- ログインしたら新規インスタンスが作られ、ログアウトでインスタンスは削除される、簡単なテストなどに向いてると思う
- あらかじめ、Git、Pythonなどの開発ツールがある程度インストールされており、必要に応じてインストールできる
- Googleドライブはマウントできないらしい(ホント?)
- やりたいことがPython以外にできた場合に、この環境を構築してみる
具体的な手順
Googleドライブの準備
パソコン版Googleドライブのインストール
Googleドライブは、ブラウザでファイルを操作する必要がありますが、とても大変です。そこで、Windowsのエクスプローラで、Googleドライブのファイルを操作できるように、パソコン版Googleドライブをインストールします。大量のファイルを操作すると、同期に時間がかかるため、注意が必要です。インストールは以下のリンクでインストール用のファイルをダウンロードして実行すればOKです。
support.google.com
- パソコン版Googleドライブをインストールして、「起動」を押すと「Googleドライブへようこそ」という画面が表示されるので、「開始」を押す
- Google Colaboratoryで使用するGoogleアカウントでログインする(パソコン版Googleドライブは最大で4アカウント切り替えて使えるらしい)
- 動作確認のため、ローカルPC上で、新規にGitHubというディレクトリを作り、test.pyというファイルを作った
- 同期をとるディレクトリとして、今作成したディレクトリを指定した
- デフォルトで用意されているクラウド上のGoogleドライブは「マイドライブ」がトップディレクトリとなるみたい
- 同期するディレクトリを指定した場合、「パソコン」がトップディレクトリになるみたい
- Googleドライブを確認したところ、ローカルPCで作成したtest.pyがあることを確認できた
パソコン版Googleドライブの複数アカウントの使い方
- WindowsのメニューからGoogle Driveを起動、もしくは、システムトレイのGoogleドライブをクリックして、設定アイコンをクリック
- Googleドライブの設定というウィンドウが起動するので、右上のユーザのアイコンをクリックして別アカウントを追加をクリック
- 別アカウントでログインすると、ローカルPCのドライブにそのアカウントのGoogleドライブがマウントされる
Google Colaboratoryの起動
- ブラウザで、今回使用するGoogleアカウントでログインする
- Googleの検索のトップページで、ドライブのアイコンをクリック
- 右のサイドバーの「+」をクリック
- 「Colab」で検索して、インストールする
- 左のサイドバーのマイドライブで右クリック→その他→Google Colaboratoryをクリック、Google Colaboratoryが起動する(マイドライブ直下にUntitled.ipynbというファイル名で作られる)
- ただし、起動したGoogle Colaboratoryのカレントディレクトリは、一時的に作られた環境(実体はVMのUbuntuコンテナであり、セッションが切断されると環境は削除される)のディレクトリ(/content)であり、このディレクトリでファイルなどを出力しても消えてしまうので、Googleドライブをマウントして、そこに移動して作業を行う必要がある
GitHubのリポジトリの準備
GitHubのリポジトリの作成
- GitHub(アカウントが必要なら作成してから)にログインして、右上の「+」をクリックして、New repositoryをクリックする
- Repository nameに、任意のリポジトリ名(今回はexperimentとする)を入力する
- Add a README fileにチェックを入れる
- あとは任意に設定して、Create repositoryをクリック
- ↓は作成したリポジトリ
github.com
GoogleドライブにGitHubの作業ディレクトリをチェックアウトして更新する
想定していた開発環境のメモ
- ローカルPCを操作して、GoogleドライブのディレクトリにGitHubの作業ディレクトリをチェックアウトして、Git操作はローカルで行う(Google ColaboratoryでGitの操作をするのは非常に効率が悪いため)。
- Pythonの実装を行うときは、ブラウザから、Googleドライブに同期されているGitHubの作業ディレクトリにアクセスして、Google Colaboratoryを起動して実装を行う
- しかし、ローカルでGit操作を行う場合、大きなリポジトリだと、Googleドライブへの同期が長い時間かかりそうなので、想定した開発環境は諦めた(仕方ないので、Google Colaboratory上でGit操作を行うことにする)
- もし、ローカルPCに、WSLや、VirtualBoxなどで、Linux環境がある場合は、Googleドライブをマウントする方法でもよい(結局はファイル同期が長い時間かかるかもしれない)
- 昔は、Googleドライブに、SSHで接続してシェル操作ができたらしいが、現在は禁止されている(ここ「https://research.google.com/colaboratory/faq.html#limitations-and-restrictions」に、SSHシェルが禁止であることが書かれている)
具体的な手順
- Git操作を行う専用のipynbファイルを用意する
- この理由は、Pythonを実装したノートブックに、Git操作を行うセルが混在すると、あとでPythonファイルに出力したときに、その部分を削除したりする必要があることや、トークンの情報、ユーザー名、メールアドレスが、いろんなノートブックに残るのは、気分的によくない
- GoogleドライブにGitHubというディレクトリを作成する
- GitHubディレクトリで、Google Colaboratoryを起動する
- ファイル名をgit.ipynbに変更する
- Googleドライブに接続する
- Google Colaboratoryの左のサイドバーのフォルダアイコンをクリック
- 4つ並んでるアイコンの右から2番目のGoogleドライブのアイコンをクリックすると、許可するか聞かれるので、「Googleドライブに接続」をクリック
- ディレクトリツリーに「drive」が出現する(この「drive」がGoogleドライブであり、1つ下に「MyDrive(マイドライブの別名)」が確認できる)
- personal access tokenを取得する
- 実行中のGoogle Colaboratoryはそのままにしておき、トークン(pushするときに必要になる)を取得しにいく
- https://github.com/settings/tokens にアクセスする
- 「Generate new token」をクリックして、「Generate new token(classic)」を選択する
- Note:任意の文字列
- Expansion:有効期間
- Select scopes:repoだけでいい
- Generate tokenをクリックする
- トークンが発行されるので保存しておく
- Git:clone、add、commit、push
- まずは、Googleドライブの行きたいディレクトリに移動する
- 下図のように、操作したいリポジトリをcloneして、必要な操作を行う
- pushするには、ユーザ名、メールアドレスの設定が必要
- pushするには、originの設定が必要であり、リポジトリのアドレスは「https://TOKEN@github.com/dk0893/experiment.git」と設定する(TOKENには↑で取得したpersonal access tokenを入力し、dk0893にはGitHubのアカウント名、experiment.gitにはpushしたいリポジトリ名を入力する)
- pushする
- 以下は、Git操作を行うノートブックの例です
git.ipynb
実行しているGoogle Colaboratoryのファイルを直接GitHubにコミットすることもできる
- Google Colaboratoryで、ファイルメニューの「GitHubにコピーを保存」をクリック
- 以下のような画面が出るので、OKを押すと、自分のGitHubのリポジトリに移動し、コミットされたことが確認できる(ノートブックだけを更新するだけなら、これでいいが、ノートブック以外のGit操作をするときに、結局は↑のような操作が必要になる)
Visual Studio Codeで、Pythonのデバッグを行う
GoogleドライブにSSHで接続できないため、ローカルPCでデバッグするしかないと思います。
パソコン版Googleドライブをインストールしたので、GoogleドライブがマウントされたローカルPCのドライブにアクセスすれば、普通にVSCodeでデバッグできました。
おわりに
今回は、無料で使える開発環境の手順の説明でした。
今回は以上です!
最後までお読みいただき、ありがとうございました。