『ゼロから作るDeep Learning』をやるために環境構築をします。

書籍ではAnacondaを推奨していましたが、なんとなく重くてアレだなぁと思ったのでvirtualenvを使ってNumPyとMatplotlibを入れたいと思います。

前提

  • MacOS
  • Homebrewインストール済み

手順

1. Pipenvのインストール

$ brew install pipenv

一度目で以下のようなエラーが発生。

==> Installing pipenv dependency: python@3.8
==> Pouring python@3.8-3.8.5.catalina.bottle.tar.gz
Error: An unexpected error occurred during the `brew link` step
The formula built, but is not symlinked into /usr/local
Permission denied @ dir_s_mkdir - /usr/local/Frameworks
Error: Permission denied @ dir_s_mkdir - /usr/local/Frameworks
~ % pipenv --verion
zsh: command not found: pipenv

再度pip install pipenvしたらエラーが発生せずに無事インストールできた。 (ちょっと気持ち悪いけど、とりあえず進む。)

2. フォルダを作成して移動

今回はゼロから作るDeepLearning用の環境なので、それっぽい名前のフォルダを作ります。

GitHub % mkdir zero-to-deeplearning
GitHub % cd zero-to-deeplearning
zero-to-deeplearning %

3. Pipenvを使って環境を作成

プロジェクトの直下に仮想環境を作るためにPIPENV_VENV_IN_PROJECTの値を1に設定したあと、python3.8の環境を作ります。

zero-to-deeplearning % export PIPENV_VENV_IN_PROJECT=1
zero-to-deeplearning % pipenv --python 3.8
Creating a virtualenv for this project…
Pipfile: /Users/yoshikiito/Documents/GitHub/zero-to-deeplearning/Pipfile
Using /Users/yoshikiito/.pyenv/versions/3.8.2/bin/python3.8 (3.8.2) to create virtualenv…
⠹ Creating virtual environment...created virtual environment CPython3.8.2.final.0-64 in 783ms
  creator CPython3Posix(dest=/Users/yoshikiito/Documents/GitHub/zero-to-deeplearning/.venv, clear=False, global=False)
  seeder FromAppData(download=False, pip=bundle, setuptools=bundle, wheel=bundle, via=copy, app_data_dir=/Users/yoshikiito/Library/Application Support/virtualenv)
    added seed packages: pip==20.2.1, setuptools==49.2.1, wheel==0.34.2
  activators BashActivator,CShellActivator,FishActivator,PowerShellActivator,PythonActivator,XonshActivator

✔ Successfully created virtual environment!
Virtualenv location: /Users/yoshikiito/Documents/GitHub/zero-to-deeplearning/.venv
Creating a Pipfile for this project…
zero-to-deeplearning % cat Pipfile
[[source]]
name = "pypi"
url = "https://pypi.org/simple"
verify_ssl = true

[dev-packages]

[packages]

[requires]
python_version = "3.8"

4. 環境に入って必要なものをインストール

作成した環境に入ったのち、あとは普通にpipを使ってNumPyとMatplotlibをインストールします。

zero-to-deeplearning % pipenv shell
Launching subshell in virtual environment…
 . /Users/yoshikiito/Documents/GitHub/zero-to-deeplearning/.venv/bin/activate
zero-to-deeplearning %  . /Users/yoshikiito/Documents/GitHub/zero-to-deeplearning/.venv/bin/activate
(zero-to-deeplearning) zero-to-deeplearning % python -V
Python 3.8.2
(zero-to-deeplearning) zero-to-deeplearning % pip install NumPy

略

(zero-to-deeplearning) zero-to-deeplearning % pip install Matplotlib

略

完成。

5. 作成した環境を抜ける

exitで抜けられます。

(zero-to-deeplearning) zero-to-deeplearning % exit
zero-to-deeplearning %

参考