Help us understand the problem. What is going on with this article?

MacOS CatalinaにPythonとPython向けライブラリをインストールする

はじめに

Pythonを勉強するに当たって環境構築をしようとしたのだがこれが意外と難しかった。

MacにはデフォルトでPythonはインストールされているけれど、最新のPython3ではなく、古いPython2がインストールされているので、新しく勉強&開発するにはそのままではできません。

しかもインストール方法もいくつもあって、どの方法でインストールすればいいのかPython初心者には分かりにくかったです。
さらに右も左もわからない状態だとPythonのインストール方法とライブラリのインストール方法と混同してしまって「あれ?今何やってたんだっけ?」となる場面が何回もありました。

Python勉強仲間に聞いても同じ悩みを抱えていたので、なら備忘録も兼ねて方法をまとめてみようと思って書いてみみました。

今回はMacOS CatalinaでHomebrewとpyenvを利用してPython3の最新版とゲームライブラリpygameをインストールしました。

実行環境

  • MacBookPro Mid 2014
  • macOS Catalina ver.10.15.16

使用するパッケージ

  • Homebrew

    • 言わずと知れたMacとLinux向けのパッケージ管理ツール。
  • pyenv

    • Pythonのバージョン管理ツール。 これを使わなくてもPythonのインストール自体はできるみたいですが、複数のバージョンをインストール&切り替えが容易なのでpyenvを利用してインストールする方が後々の使い勝手もよさそうなので今回はこれを使います。
  • pip

    • Python 用ライブラリの管理ツール。 各ライブラリのインストール作業はこれを使用します。Pythonをインストールすると一緒にインストールされるので特に導入作業は必要ありません。
  • pygame

    • Python向けのゲーム作成モジュール集。 これを利用するとPythonだけで割と簡単にゲームを作れます。実際Python初学者でも2日でゲームを作れました。Pythonを学習するに当たってこれを使ったゲームを作ったので、今回はこれを使ってライブラリをインストールする手順をまとめます。

※ 各パッケージの詳しい説明は各公式ドキュメントを参照して下さい。
※ 初めてのPython環境構築だと特にpyenvとpipを混同しやすいと思うので(実際私も散々苦労しました)、特にこの2つは意識的に区別しておくほうがいいと思います。

インストールの流れ

  1. Homebrewをインストール
  2. pyenvをインストール
  3. pyenvでPythonをインストール
  4. pipでライブラリをインストール

1.Homebrewをインストール

公式ドキュメントに従ってターミナルで以下のコマンドを実行します。もちろんインストール済みなら飛ばしても問題ありません。

$ /bin/bash -c "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/master/install.sh)"

インストールが成功していればbrew -vでHomebrewのバージョンが確認できます。

$ brew -v
Homebrew 2.4.9
Homebrew/homebrew-core (git revision 3b87b; last commit 2020-08-04)
Homebrew/homebrew-cask (git revision 2ee9f; last commit 2020-08-04)

2.pyenvをインストール

brew updateでHomebrewを最新の状態にアップデートして、brew installでpyenvをインストールします。

$ brew update
$ brew install pyenv

pyenv -vでpyenvのバージョンが確認できればOKです。

$ pyenv -v
pyenv 1.2.20

pyenv自体はこれで動作しますが、ターミナルにpyenvの設定を追加しないとpyenv経由でインストールしたPythonが認識されないので、下記のコマンドでターミナルに設定を追加、追加した設定をターミナルに認識させます。

$ echo -e 'if command -v pyenv 1>/dev/null 2>&1; then\n  eval "$(pyenv init -)"\nfi' >> ~/.zshrc
$ source .zshrc

ターミナルがbashの場合は以下のコマンドで。

$ echo -e 'if command -v pyenv 1>/dev/null 2>&1; then\n  eval "$(pyenv init -)"\nfi' >> ~/.bash_profile
$ source .bash_profile

もちろんvimで直接プロファイル等に書き込んでも問題ありません。

if command -v pyenv 1>/dev/null 2>&1; then
  eval "$(pyenv init -)"
fi

3.pyenvでPythonをインストール

pyenv install -lコマンドで、pyenvでインストール可能なPythonのバージョンが確認できます。

$ pyenv install -l
Available versions:
  2.1.3
  2.2.3
  2.3.7
  2.4.0
  2.4.1
  2.4.2
  ...
  3.8.4
  3.8.5
  3.9.0b5
  3.9-dev
  3.10-dev
  ...

特に理由がない限り最新安定版(数字の後ろに'dev'とついていないもの)をインストールしておくほうがいいでしょう。
ちなみにanaconda等のプラットフォームもpyenvでインストールできます。
今回は3.8.5をpyenv installコマンドでインストールします。

$ pyenv install 3.8.5

この段階ではインストールが完了しただけで、使用するPythonのバージョンはまだ切り替わっていません。
python -Vコマンドでバージョンを確認しても、MacにデフォルトでインストールされているPython2が認識されます。

$ python -V
Python 2.7.16

pyenv globalコマンドでインストールしたPythonがデフォルトで動くように切り替えます。

$ pyenv global 3.8.5

python -Vでバージョンが切り替わったのが確認できればインストール成功です。
上手く認識しないときは$ source .zshrcでpyenvの設定をターミナルに再読み込みさせてみて下さい。
(※bashの場合は$ source .bash_profileで。)

$ python -V
Python 3.8.5

ちなみにpyenv versionsでインストールされているPythonのバージョンを一覧で確認できます。
先頭に*がついたものがデフォルトのバージョンとして動作します。

$ pyenv versions
  system
* 3.8.5 (set by /Users/linus/.pyenv/version)

4.pipでライブラリをインストール

pip installコマンドでライブラリをインストールします。今回はpygameをインストールします。

$ pip install pygame

今回は最新安定版ではなく開発中の最新版が必要なので、バージョンを指定してインストールします。
ライブラリ名の後ろにバージョンを付け加えるとバージョン指定でインストールできます。

$ pip install pygame==2.0.0.dev10

pip listコマンドでpipを使用してインストールしたライブラリを一覧で確認できます。

$ pip list
Package    Version
---------- -----------
pip        20.1.1
pygame     2.0.0.dev10
setuptools 47.1.0

指定したバージョンでインストールできてますね。
Djangoなどの他のライブラリも同じ方法でインストールできます。

おまけ

今回インストールしたパッケージ等をアンインストールときは以下のコマンドで実行できます。
アンインストールするときはインストールしたときとは逆順で削除しないとファイルが残ることがあるので注意して下さい。

$ pip uninstall pygame
$ pyenv uninstall 3.8.5
$ brew uninstall pyenv

あとがき

初めて環境構築に取り組んでいたときも散々苦労しましたが、改めてまとめ直してみても結構大変でした。
Pythonはプログラミング初心者にもとっつきやすい言語だとよく聞きますが、環境構築はどうも初心者向けとは言い難いところがありますね。

※ 2020/08/06追記
pyenvを使用しないでHomebrewのみでPython3をインストールする方法もあったので試してみました。
MacOS CatalinaでPython3をインストールする(Homebrewのみで)
ただ本格的な開発にはpyenvを使用する方がどうもよさそうなので、あくまで参考程度にしてください。

linus_sh
バックエンドよりのフルスタックエンジニア。コーディングブートキャンプでフルスタックエンジニアリングを勉強、転職活動中です。興味を持たれた方はお気軽に連絡いただけると幸いです。
Why not register and get more from Qiita?
  1. We will deliver articles that match you
    By following users and tags, you can catch up information on technical fields that you are interested in as a whole
  2. you can read useful information later efficiently
    By "stocking" the articles you like, you can search right away
Comments
No comments
Sign up for free and join this conversation.
If you already have a Qiita account
Why do not you register as a user and use Qiita more conveniently?
You need to log in to use this function. Qiita can be used more conveniently after logging in.
You seem to be reading articles frequently this month. Qiita can be used more conveniently after logging in.
  1. We will deliver articles that match you
    By following users and tags, you can catch up information on technical fields that you are interested in as a whole
  2. you can read useful information later efficiently
    By "stocking" the articles you like, you can search right away
ユーザーは見つかりませんでした