Python Mac

pyenv + AnacondaでMacにPython環境をセットアップする

Mac上にPythonの開発環境を整えてみたので、その備忘録です。ひとまず、MacにPython3系をインストールしてJupyter Notebookで作業できるようにすることを目標にします。

今回はQiitaの以下のページを参考にさせていただきました。先人の方々に感謝です。

■参考ページ
Macにpythonとanacondaの環境を構築してみる(pyenv,condaにて)
Condaで作ってる仮想環境の切り替えをJupyter上で簡単に行う方法

pyenvのインストール

やり方は色々とあるようですが、今回はpyenvを使います。Macには元々Python2系が入っているので、今回追加するPython3系と共存させるには、こうしたパッケージマネージャを使うと便利です。

pyenv本体はHomebrewでインストールして、しかるべきところにパスを通してあげればOKです。

# pyenvのインストール
brew install pyenv

# パスの設定
echo 'export PYENV_ROOT="$HOME/.pyenv"' >> ~/.bash_profile
echo 'export PATH="$PYENV_ROOT/bin:$PATH"' >> ~/.bash_profile
echo 'eval "$(pyenv init -)"' >> ~/.bash_profile

# パスの適用
source .bash_profile

Anacondaのインストール

続いて、Anacondaをインストールします。AnacondaはPython本体+よく使われるライブラリを一括で管理できるパッケージです。これを入れておくとひとまず必要なモノはすべてそろうのでオススメです。

まずはインストール可能なAnacondaを確認します。

pyenv install -l | grep anaconda

上記のコマンドを実行すると以下のようにインストール可能なAnacondaのバージョンがずらっと表示されます。

anaconda-1.4.0
anaconda-1.5.0
〜途中省略〜
anaconda-2.4.0
anaconda-4.0.0
anaconda2-2.4.0
anaconda2-2.4.1
〜途中省略〜
anaconda2-4.4.0
anaconda2-5.0.0
anaconda3-2.0.0
anaconda3-2.0.1
〜途中省略〜
anaconda3-4.4.0
anaconda3-5.0.0

今回はPython3系をインストールしたいので、Anacondaも3系かつ最新のもの(赤字のやつ)をインストールします。

pyenv install anaconda3-5.0.0

Anacondaで仮想環境を作る

Anacondaでは、仮想環境を作ってその中でパッケージの追加/削除ができるようになっています。必須ではありませんが、将来的にパッケージの組み合わせによって環境を複数用意したい場合に備えて、仮想環境を作っておきます。

# Anacondaをglobalに
pyenv global anaconda3-5.0.0

# 仮想環境の作成
conda create --name py3.6 python=3.6 anaconda

# globalを元に戻す
pyenv global system

仮想環境が作れたら、それを作業ディレクトリ内で有効にします。 例えば、workspaceという場所を作業ディレクトリとしたい場合はこんな感じ。

mkdir workspace
cd workspace
pyenv local anaconda3-5.0.0/envs/py3.6

ここまで来れば、作業ディレクトリ内でJupyter Notebookの起動もできるはずです。

Jupyter Notebookで仮想環境を指定できるようにする

最後に、先ほど作ったAnacondaの仮想環境をJupyter Notebook上で選択して使えるようにします。以下のような感じでJupyter Notebookに対するパッケージ追加と設定追加をします。

# パッケージの追加
pip install environment_kernels

# 設定ファイルの生成
jupyter notebook --generate-config

# 設定追加
echo "c.NotebookApp.kernel_spec_manager_class = 'environment_kernels.EnvironmentKernelSpecManager'" >> ~/.jupyter/jupyter_notebook_config.py
echo "c.EnvironmentKernelSpecManager.conda_env_dirs=['/Users/<ユーザー名>/.pyenv/versions/anaconda3-5.0.0/envs/']" >> ~/.jupyter/jupyter_notebook_config.py

あとはJupyter Notebookを起動して、「Kernel > Change kernel」からAnacondaで作った仮想環境(今回はpy3.6)が選択できればOKです。

これでPythonの開発環境をセットアップすることができました。Pythonまわりはこうしたパッケージ管理の仕組みがちゃんと整備されているので嬉しいですね。

興味のある方は是非試してみてください(・∀・)

ではではノシ

広告の表示がブロックされています。
広告の表示がブロックされています。

関連記事

RaspberryPi Linux

2022/1/22

Raspberry Pi4+Ubuntu ServerでGitLabを動かしてみる

お仕事でGitLabに触れる機会があったので、学習用に自宅にもGitLabが欲しくなりました。 手元にあるRaspberry Pi4+Dockerならお手軽に立ち上げられるはずと着手したものの、意外とハマって大変だったので備忘録をまとめておきます。 目次1 環境2 Dockerのインストール3 GitLabの立ち上げ4 管理者パスワードのリセット 環境 今回の環境は以下の構成になります。 ハード:Raspberry Pi4 MobelB OS:Ubuntu Server 20.04 ラズパイへのUbunt ...

この記事を読む

Flutter プログラミング

2021/8/2

【Flutter】アプリ内の設定値を実装する方法

アプリ内で独自の設定を作る場合、そのデータを保持する方法を考える必要があります。 SQL、テキストファイルなど選択肢は多々ありますが、shared_preferencesというパッケージを使えば簡単に実装することができます。 Dart packages  2 Users 48 Pocketsshared_preferences | Flutter PackageFlutter plugin for reading and writing simple key-value pairs. Wraps ...

この記事を読む

RaspberryPi Linux

2021/4/18

YoctoでRaspberryPi4のイメージをビルドしてみた

昨今、様々なデバイスでLinuxが動くようになっている中、組み込みLinuxのデファクトスタンダードとなりつつあるのが「Yocto」と呼ばれるビルドシステムです。 組み込みの現場ではその名前を聞くことが増えましたが、まだまだ日本ではドキュメントも乏しくイマイチ掴み所がありません。そこで、まずは使ってみようということでRaspberry Pi4のイメージをビルドしてみることにしました。 目次1 Yoctoとは?2 Raspberry Pi4のイメージを作ってみる2.1 下準備2.2 Yocto本体+ラズパイ ...

この記事を読む

C++ 自作物

2021/8/1

言語処理系をつくろう(第7回):比較演算子を実装する

自作の言語処理系開発日記の第7回です。前回までで変数の実装が終わったので、ここからはいよいよ制御構文を実装…と思ったのですが、制御のためには比較演算子を実装する必要がありました。 ということで、今回は比較演算子を実装していきます。基本的には四則演算と変わりないのであまり難しくはありません。 目次1 比較演算子の仕様2 実装してみる2.1 トークナイザ2.2 構文解析器2.3 コード生成器2.4 実行系(仮想マシン) 比較演算子の仕様 比較演算子を実装する前に、その仕様について少し考えておきます。 比較演算 ...

この記事を読む

C++ 自作物

2021/8/1

言語処理系をつくろう(第6回):変数を実装する

自作の言語処理系開発日記、第6回です。 これまでは四則演算など、電卓レベルの機能実装に取り組んでいましたが、いよいよ変数を扱えるようにしていきたいと思います。これでかなりプログラミング言語っぽくなるかも(・∀・) 今回は新しい仕組みを入れたりと、割と修正がごちゃごちゃしてしまったので、うまくまとめきれていません。ごめんなさい…。 目次1 変数の実装について2 実装してみる2.1 トークナイザ2.2 構文解析器2.3 コード生成器2.4 実行系(仮想マシン) 変数の実装について これまでは即値しか扱っていな ...

この記事を読む

  • このブログの中の人

Ryo Yoneyama

とある会社でソフトウェアエンジニアをしています。技術的な備忘録を中心にまとめてます。ネタがあれば日記も書きます。

-Python, Mac

© 2022 Corgi Lab. ~備忘録のための技術ブログ~