元のページ

ステージ1: 環境構築 (データマイニング班)

ここでは venv + pip で環境構築する例を示します。環境構築後の想定環境にあるパッケージが使えるなら、自由に環境構築して貰って構いません。すでにAnacondaをインストールしている場合には特に設定不要か、バージョン更新するだけで良い可能性が高いです。
具体的な動作確認は、PyCharm or VSCodeのインストールで確認ください。



  1. 環境構築前の想定環境
    • OS: Mac OS X 10.15 以降 (10.14.x以降であれば同じ方法で問題無いはず?)
    • Xcode: (最新にアップデートしよう)
    • Python: 3.6系 〜 3.8系。

      Python 3.9以降は、知能情報コースのGPUサーバを利用するなら避けたほうが良い。

    • Homebrew: 2.2.10 (2020-03-27時点)
  2. Homebrew のインストール: 学科のスタートアップ参照。
    • OS初期化等していなければ、1年次のインストール大会でインストール済み。
    • アップデートしていない場合には、「brew upgrade brew」で最新に。
    • その後「brew doctor」で、環境確認。古すぎるライブラリがインストールされてる場合には指示されたとおり対応しよう。


  3. venvによる仮想環境構築とpipによるパッケージインストール。以下では /usr/bin/python3 をベースにして ~/.venv/info3dm に環境構築する前提で書いている。変更したい場合には編集しよう。
    /usr/bin/python3 -m venv ~/.venv/info3dm
    source ~/.venv/info3dm/bin/activate
    pip install --upgrade pip
    pip install -U scikit-learn matplotlib pandas
    
    # 補足
    # ターミナルを閉じると仮想環境から自動的に抜ける。
    # 仮想環境に入り直すには source ~/.venv/info3dm/bin/activate でactivateする。
    # 長いコマンド面倒ならシェルスクリプト書くと良い。
    # PyCharmやVSCodeには ~/.venv/info3dm/bin/python をインタプリタとして指定しよう。
    


  4. scikit-learnの動作確認。
    # The Iris Datasetにある
    # plot_iris_dataset.py をダウンロード or コピー作成。
    curl -O https://scikit-learn.org/stable/_downloads/5b08a262d5845e4674288edb801adf93/plot_iris_dataset.py
    # 実行
    python plot_iris_dataset.py
    # 実行後に2つのグラフが生成されればOK。
    


  5. 環境構築後の想定環境(2021-03-16時点)。pip freezeの主要パッケージ一覧。#付きは明示的に使うわけじゃないけど、便利なツール。
    #jupyterlab==3.0.10
    matplotlib==3.3.4
    numpy==1.20.1
    pandas==1.2.3
    scikit-learn==0.24.1
    scipy==1.6.1
    


  6. Gitの設定(既に設定している人は不要)
    • Gitのインストール。
      • 「git --version」で 2.17以降がインストールされていることを確認できればOK。確認できない場合、「brew install git」。
      • 初めてのインストール時にはいくつか初期設定が必要。
    • ~/.gitignoreのサンプル: gitignore-sample

      emacsで編集するとデフォルトで作成される「更新前のファイル(*.~)」等、gitでバージョン管理する際には不要なファイルを除外するための設定を書いた例。そのまま利用するなら、ダウンロードしたファイルを ~/.gitignore として保存してください。

      他にも、C言語ベースの場合に「*.o」や「a.out」を書けば、コンパイルで自動生成される不要なファイルを、add対象外に指定できます。

    • 編集したファイルを ~/.gitignore としてファイル名を変更し、ホームディレクトリに保存。


  7. 単体テストツールの導入。ここではpytestを例に上げていますが、doctestやその他でも構いません。
    1. Pytestのインストール。(anacondaインストールしたならインストール済み)
      pip install pytest
      
    2. 動作確認。
      pytest --version
      # This is pytest version 3.0.7 (略)
      
    3. 初めてのテスト実行。リンク先の通り test_sample.py を作成し、pytest を使ってテストさせてみよう。
      pytest
      # (確認1) assert について AssertionError が返って来たら正常動作。
      # (確認2) 関数 func() が正しく記述されてると仮定し、テストをそちらにあわせて修正し、テストしてみよう。
      
    4. 関連URL


  8. 統合開発環境 PyCharm or VS Codeのインストール
    • PyCharm公式サイトからCommunity版をダウンロードするか、もしくはVisual Studio Codeをダウンロード。
    • PyCharmの場合:環境設定(インタプリタの指定)。
      1. PyCharmを起動。
      2. アプリメニュー(画面左上)の「PyCharm Communiti Edition」から「Preferences...」を選択。
      3. 「Project Interpreter」を選択し、右側の歯車アイコン」から「Add Local」を選択。
      4. ターミナルで python のインストール場所を確認(whichコマンド)し、それを選択。
      5. Apply してから、OK。(しばらく環境読み込みに時間かかります)
      
    • VS Codeの場合:一度新規ファイル作成し、「print("hello")」ぐらいでも良いので中身を書いて.py拡張子をつけて保存。その後、ウィンドウ左下にインタプリタが表示されるので、そこが今回用意した環境になっているかどうかを確認。なっていない場合には、クリックして選択する。
    • 動作確認。
      1. 適当な名前の新規プロジェクトを作ろう。
      2. 「plot_iris_dataset.py」というファイルを新規作成。
      3. The Iris Datasetのコードを、先程作った空ファイルにコピペ。
      4. 実行して、グラフ生成されるならOK。
      



    以下は、実験では時間がある時にデモを見せるぐらいで、必須ではありません。






  9. 【興味のある人だけ】自然言語処理用パッケージのインストール
    1. MeCab(形態素解析器)と辞書のインストール
      brew install mecab
      brew install mecab-unidic
      # unidic よりも、NEologdが定期更新されてるので、オススメかも。
      
    2. MeCabの動作確認
      mecab
      # 適当に日本語テキストを入力してみる
      # mecabコマンドを実行すると入力待ちになるため、
      # 適当に日本語テキストを入力してから改行すると解析結果が出力される。
      # このとき文字化けしなければOK。
      
    3. mecab-python (Pythonバインディング)をインストール
      pip install mecab-python3
      
    4. pythonを起動してインタラクティブ・モードでmecab-pythonの動作確認
      import MeCab
      mecab = MeCab.Tagger()
      sent = "日本語を適当に入力してみる"
      print(mecab.parse(sent))
      # 解析結果が文字化けせずに出力されるならOK。
      
  10. 【興味のある人だけ】NLTKのインストール、動作確認。NLTK = Natural Language Toolkit。一般的な言語処理用のライブラリ。
    # anacondaインストールしたなら最初からインストール済み。
    pip install nltk
    
    # 動作確認。
    python
    >>> import nltk
    >>> nltk.__version__
    '3.3'