27
32

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で1からPythonの環境構築をしていく

Last updated at Posted at 2017-10-16

##Homebrewのインストール
まずHomebrewのサイトへアクセスします

サイト内のスクリプトをターミナルにコピーすることで簡単にインストールできます。
スクリーンショット 2017-10-18 00.25.15.png

正しくインストールされているか確かめるため以下のコマンドをターミナルに入力し保存先がかえってくるか確かめてください。

$ which brew

インストールできていれば /usr/local/bin/brew と保存先のパスがかえってきます。

Homebrewをアップデートする際には以下のコマンドを使います。

$ brew update && brew upgrade
##Pyenvのインストール
PyenvはPythonのバージョン管理ソフトウェアです。MacにはデフォルトでSystemというPython2系のバージョンが入っていますが、Pyenvを使って2系と3系をインストールし、用途に合わせて2系と3系を切り替えられるようにします。

まずは先程インストールしたHomebrewを使ってPyenvをインストールします。
Homebrewをインストールしたことでbrewコマンドを使うことができます。
このbrewコマンドを使うことで簡単にPyenvなどのソフトウェアをインストールできます。

以下のコマンドでPyenvをインストールします。

$ brew install pyenv

##.bash_profileの編集
自分のホームディレクトリにある.bash_profileを編集します。
やり方としては2通りあります。  1つはviで以下を直書きする方法

export PYENV_ROOT="$HOME/.pyenv"
export PATH="$PYENV_ROOT/bin:$PATH"
eval "$(pyenv init -)"

もう1つはターミナルで以下のコマンド1つずつを入力する方法です。
以下を順番に入力していきましょう。

$ echo 'export PYENV_ROOT="$HOME/.pyenv"' >> ~/.bash_profile
$ echo 'export PATH="$PYENV_ROOT/bin:$PATH"' >> ~/.bash_profile
$ echo 'eval "$(pyenv init -)"' >> ~/.bash_profile

どちらかの方法で.bash_profileにpyenvの設定を書き込んだ後以下のコマンドを入力してリフレッシュします。

$ source .bash_profile

以上で.bash_profileの編集は終了です。

次からPythonをインストールしていきます。

##Pythonのインストール
今回は試しにpython3系の3.6.0と2系の2.7.8をインストールしていきます。
pyenvでインストールできるバーションは以下のコマンドで確認することができます。

$ pyenv install -l

インストール

---High Sierra以上にバージョンを上げている場合以下の対処が必要となります---

以下のコマンドを入力
$ brew install readline openssl xz

次に~/.env-exporterに以下を記述
$ vi ~/.env-exporter

export CFLAGS="-I$(xcrun --show-sdk-path)/usr/include"
export CFLAGS="-I$(brew --prefix readline)/include $CFLAGS"
export LDFLAGS="-L$(brew --prefix readline)/lib $LDFLAGS"
export CFLAGS="-I$(brew --prefix openssl)/include $CFLAGS"
export LDFLAGS="-L$(brew --prefix openssl)/lib $LDFLAGS"
export CFLAGS="-I$(brew --prefix sqlite)/include $CFLAGS"
export LDFLAGS="-L$(brew --prefix sqlite)/lib $LDFLAGS"

記述後

$ source ~/.env-exporter

---以上が対処となります。以下よりPythonのインストールです---

python 3.6.0のインストール
$ pyenv install 3.6.0

python 2.7.8のインストール
$ pyenv install 2.7.8

これでpythonのインストールは完了です。

---Pythonのインストールが失敗する場合---
以下のコマンドを入力してxcodeのアップデートを行いもう一度Pythonのインストールを行ってみて下さい。

$ xcode-select --install

##pythonのバージョン確認
上記のPythonのインストールでpython2系の2.7.8と3系の3.6.0をインストールしたのでここからはバージョンの確認方法とバージョンの切り替えについて書いていきます。

以下のコマンドでpyenvで管理しているバージョンの一覧を表示することができます。

$ pyenv versions  
* system  (set by /Users/xxxxxxx/.pyenv/version)
  2.7.8
  3.6.0

macにデフォルトで入っているsystem、そして先程インストールした2.7.8と3.6.0が確認できます。

*がついてるのが現在の使われているバージョンです。今は2.7.8と3.6.0をインストールしただけの状態なのでデフォルトのsystemが起用されています。

##pythonのバージョン切り替え
使用するバージョンを切り替えるには以下のglobalコマンドを用います。

python 3.6.0に切り替える場合
$ pyenv global 3.6.0

これでsystemから3.6.0に切り替わります。実際に確認してみましょう。

$ pyenv versions  
  system 
  2.7.8
* 3.6.0   (set by /Users/xxxxxxx/.pyenv/version)

*印が3.6.0に移動しバージョンが切り替わっていることが分かります。

またディレクトリごとにバージョンを切り替えたい場合はglobalではなくlocalを使います。
例えばデスクトップのみで2.7.8を使いたい場合
desktopに移動
$ cd desktop
localでバージョンの切り替え
$ pyenv local 2.7.8

確認してみましょう。

$ pyenv versions  
  system 
* 2.7.8   (set by /Users/xxxxxxx/desktop/.python-version)
  3.6.0   

*印が3.6.0から2.7.8に変更され
desktopのみバージョン2.7.8が起用されていることが確認できます。

以上で環境構築は終了です。お疲れ様でした。

以下にpythonの環境構築で上手くいかない時の対処法を書いておきます。

##うまくいかない時の対処法

バージョンが変わらない
$ pyenv global xxxxでも
$ pyenv local xxxxしてもバージョンが切り替わらない場合

.bash_profileでpythonの設定が

export PYENV_ROOT="$HOME/.pyenv"
export PATH="$PYENV_ROOT/bin:$PATH"
eval "$(pyenv init -)"

この記述より上にpythonのバージョン設定がされている可能性があります。確認してみてください。

$ vi ~/.bash_profile
で確認できます。

また$ pyenv versionsではバージョンが切り替わっているのに$ python -Vで確認すると切り替わっていないという事態もこれで解決することが多いです。

pyenv globalが適用されない
pyenv localはできるのに何故かpyenv globalができない
これはホームディレクトリに.python-versionのファイルが存在していることが原因であることが多いです。
$ rm ~/.python-version
で.python-versionのファイルを削除することで解決できます。

27
32
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
27
32

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?