【初心者でも大丈夫!】データサイエンティスト協会100本ノックの環境構築(Python/R/SQL)

Python

データサイエンティスト協会が初学者がデータの集計・加工を効率的に学習できるように、データサイエンス100本ノックをGitHubで無償公開しています。
100問の問題と解答コードが入っていて、Python/R/SQLの3つの言語で学習ができる素晴らしいコンテンツです。

ありがたい!ぜひ使いたい!と、環境構築しようと思ったものの、

・そもそもどうやって環境構築したらよいかわからない…、ググっても結局よくわからない…

・Dockerをインストールまではできたもののエラーが出て、全然勉強が始められない…

なんて人も多いのではないでしょうか。そうです、私もその一人でした。
勉強したいのに(理解することも大事なことですが)環境構築でつまずいて学習が進まないって、せっかくのやる気を下げるし、すごいストレスですよね。

なんどもくじけながら、途中zipファイルからダウンロードして学習しようと思いましたが、10以上のサイトを色々調べ、最終的に以下の方法ですべて解決できました
同様に困っている人に少しでも役に立てばと思います。

(改めて振り返ると、すべてデータサイエンティスト協会のガイドに丁寧にわかりやすく書いてありましたが、最初見た時に見落としていたり、試行錯誤しながら全体像を理解したことで気が付きました。)

前提として、windows11で環境構築しています

データサイエンス協会100本ノックの環境構築の簡単3STEP

環境構築を以下の仕組みで行っていきます。
準備として必要なことは、①Dockerをインストール、②GitHubからデータを取り込み、③jupyterlabで開く、です

https://github.com/The-Japan-DataScientist-Society/100knocks-preprocess/blob/master/docker/doc/100knocks_guide.pdf

①Dockerのインストール

まずは下記のURLからDocker Desktopをインストールします。

そもそもDocker(ドッカー)とはLinuxのコンテナ技術を使った仮想環境で、PCの中であたかも別のLinuxOSのように動かすことができるソフトウェアです。
簡単に言うと、Python,R,SQLを学習するためにそれぞれ動かすためには、それぞれの環境構築が必要ですが、この仮想環境を構築すれば不要になります。

Dockerのインストールはこちらです。

Docker Desktop
Docker Desktop is available to download for free on Mac, Windows, or Linux operating systems. Get started with Docker today!

インストールは案内の通りの進めていけばOKですが、インストールする際「Install required Windows components for WSL2」にチェックをつけるようにしてください。WindowsでDockerを利⽤する場合、WSL2をインストールすることが推奨されているためです。

WLS2とは「Windows Subsystem for Linux 2」の略で、Windows上でLinuxを動作させるためのサブシステムになります。

もしチェックをつけることを忘れた場合、Docker起動時にエラーが出るので、そのときは下記手順4にある最新のLinux カーネル更新プログラム パッケージをダウンロードすることで解決できます。
https://learn.microsoft.com/ja-jp/windows/wsl/install-manual#step-4—download-the-linux-kernel-update-package

②GitHubからデータの取り込み/Dockerの起動

GitHub(ギットハブ)は、プログラムコードを保存・公開することができるソフトウェア開発のプラットフォームです。
データサイエンティスト協会が、GitHubのリポジトリ(ソースコード・データの仕様の保管場所)に100本ノックの必要案情報やデータをUPしてくれています。それを私たち学習者が上記の図の通りgit clone(リポジトリをローカル環境に複製)することで、あらかじめ用意された環境を構築することができます。

こちらからgitをインストールできます。

Git for Windows
We bring the awesome Git VCS to Windows

こちらも指示の通りに進めばOKですが、1点注意が必要です。

Gitをインストールする際に、checkoutとcommit時の改行コード編集に関する挙動を設定します。
その際には、一番下の「checkout as-is,commit as-is」(改行コードの変更を行わらない)を選択するようにしてください

理由は、100本ノックの環境構築をするスプリクト群は改行コードが「LF」となっていることを前提に動作するためです。それ以外を選んでしまうと、「LF」→「CRLF」といったように改行コードが変換されてしまってうまく環境構築ができません。

もしgitインストール時に違う方法で設定してしまった場合は、設定変更できますので、記事をそのまま読み進めてください。

では、次に環境構築に進みましょう。

PowerShellでコマンドを実行していきます。
PowerShellとはMicrosoftのCUI(キャラクタユーザーインターフェース)です。通常の人が見てマウスでクリックして操作できる画面は、GUI(グラフィカルユーザーインターフェイス)と呼ばれているのに対して、CUIはテキストのコマンドでPCに指示を出します。コマンドプロンプトの後発がPowerShellです。

PowerShellの起動の仕方がわからない場合は、PCの検索窓から検索してください。

①gitのインストールで改行コードの設定を忘れた場合は下記を実行
git config --global core.autocrlf false
②100本ノックを置きたい場所にディレクトリを変更
cd (ディレクトリ)
③100本ノックリポジトリをローカルに複製する
git clone https://github.com/The-Japan-DataScientist-Society/100knocks-preprocess
④docker-composeファイルのあるディレクトリまで移動
cd 100knocks-preprocess
⑤コンテナ作成コマンドを実行する
docker-compose up -d --build

以下のように実行されていきます。

時間はかかりますが、以下のようになれば終了です。

環境構築が完了したら、デスクトップにあるDockerDesktopを開いてみましょう。

右上の赤枠の「▶」をクリックしてRUNNINGと起動されればOKです。

③Jupyter labでデータを開いて学習開始

最後にJupyter labにアクセスして、100本ノックに取り組めるか確認しましょう。以下のように表示されているフォルダから、該当のR,python,SQLのファイルにたどり着けます。
http://localhost:8888

演習用の問題だけのファイルと、模範解答のコードがついている回答ファイルがありますので、あとはひたすら問題を解くことに専念するだけです!
(私もここまでできてできた!と思ったのですが、SQLで最初にデータベースに接続できないエラーなどがありまして最初うまく設定ができていませんでした。その場合は上記のプロセスの中のどこかで間違っている、設定モレなどがあると思いますので、再度確認が必要です。)

■参考にさせていただいたサイト
https://sukkiri.jp/technologies/devtools/git/git_win.html
https://www.cresco.co.jp/blog/entry/14446/
https://qiita.com/e_tyubo/items/ac555ab9d278ac366679
https://breezy-cat.hatenablog.com/entry/2022/03/09/203845

コメント

タイトルとURLをコピーしました