7
14

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 5 years have passed since last update.

MacでのPython環境構築

Posted at

真面目に開発環境を用意する場合はdockerを使うべきだけど、
手元でサクッと色々試すための環境も作りたい。
その上でも
・python自体のバージョンを切り替えて使いたい。(主にv3.6を使いたい)
・ライブラリを切り替えて使いたい。
という2つの目的を満たす形で環境を作りたい、という場合の手順メモです。

##今回利用するツールの説明
homebrew
言わずと知れたmacのパッケージマネージャ
(ほぼデファクトスタンダードなものにもかかわらず、個人?が運用しているというのが、自分的には微妙、、なんだけど、他に良いものも見つからないので仕方ない。)

pyenv
python自体のバージョンを切り替えるためのツール

似た名前のものにpyvenvとは別物。pyvenvはdeprecatedで後述のvenvを使うように書かれている。

venv
python自体に組み込まれている仮想環境作成ツール
もともとvirtualenvという独立したツールだったが、python3.3から組み込まれた

#まずはhomebrewを入れる
macにhomebrewがまだ入っていない場合、インストールする
https://brew.sh/index_ja にあるインストール方法でインストールします。

/usr/bin/ruby -e "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/master/install)"

#pyenvをインストールする
python自体のバージョンを切り替えることができるツールであるpyenvをインストールする

brew install pyenv

インストールしたらパスを設定しておきます

bash_profileへの設定。初回は直接実行もしておく。
echo 'export PATH="$HOME/.pyenv/shims:$PATH"' >> ~/.bash_profile
export PATH="$HOME/.pyenv/shims:$PATH"

インストール後
pyenv install --list
で利用可能なpythonの一覧が表示されます。

#macとpyenvでのzlibエラー対応
pyenvを利用しようとすると、zlibに関するエラーが発生するのでhttps://qiita.com/zreactor/items/c3fd04417e0d61af0afe
にかかれているように以下のコマンドで対応する

sudo installer -pkg /Library/Developer/CommandLineTools/Packages/macOS_SDK_headers_for_macOS_10.14.pkg -target /

#利用したいpythonバージョンをインストール&切り替える(3.6.8を利用する場合)

pyenv install 3.6.8
pyenv global 3.6.8

#venvでの環境切り替え

python -m venv [環境名]

で[環境名]に以下のようにディレクトリが作成されます

[環境名]ディレクトリ以下の構成(抜粋)
bin/
  activate :この環境を利用するためのスクリプト
  pip :この環境用のpip
  python :pythonの実態へのリンク
include/
lib/ :この環境のpipでインストールしたライブラリはこの下に置かれます。
pyenv.cfg

ライブラリもこの下にインストールされるので、他の環境を汚さずに操作できるようになります。

source [環境名]/bin/activate

でこの環境の利用モードになります。

ここで

python --version

とすると、venvで環境作成したときのバージョンになります。

なお、上記環境利用状態から出る場合は以下のコマンドです。

deactivate

ガッツリ環境を用意する場合はdockerを使いましょう。

7
14
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
7
14

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?