Macbook Air late2018にPython3の環境を構築(2019/12時点)

Mac

MacにはWindowsのWinPythonのようなパッケージングされたポータブル版は無いようです。

Python3環境をMacで構築する方法を記載します。これは執筆時(2019/12/01)時点の情報です。

構築には以下を参考にさせていただきました(^^)

Pythonの開発環境を用意しよう!(Mac)
Progateはオンラインでプログラミングを学べるサービスです。プログラミングを学んでWEBアプリケーションを作ろう。
【2020年版】Pythonインストール・Mac編【長く安全に使える環境構築】|投資エンジニア
PythonをMacにインストールする環境構築方法を具体的に紹介します。インストール後、バージョン切り替え・アップデート・アンインストールが気軽にできて、Pythonを長く安全に使える方法です。この記事を読んでMacで楽しいPythonライフをはじめましょう!
MID-S
Pythonインストール手順(Pyenv版)。MacでのHomebrewを利用したPyenvインストール手順となります。

https://qiita.com/masatomix/items/b1a0ec216ea943c86a2a#anacondaのインストール

MacにはPythonが予めインストールされています。でもバージョンが古く、現在はPython3が多いですが、Python2がインストールされています。デフォルトでインストールされているPythonのバージョンは以下で確認できます。ターミナルで実行してください。

$ python --version
Python 2.7.16

私のMacでは、Python 2.7.16 でした。

MacにプリインストールされたPythonをいじると、他のシステムに影響が出たり再構築が面倒などのデメリットがあるらしいとのことで、仮想環境にPython3をインストールし、分離するのが良いらしいです。というわけで、pyenvを使って、Python2とは別にPython3をインストールしてみます。

Anacondaもインストールしてみます。

環境

MacBook Air late2018 macOS Catalina(10.15.1)

手順

Xcode Command Line Tools をインストール

Xcodeは大きいです。Mac book airは容量が少ないので、節約したいのでXcodeは入れずに、Xcode Command Line Toolsだけインストールします。

AppleのDeveloperサイト(以下)にアクセスします。

Apple Developer
Appleプラットフォーム向けの開発を始めるなら&#1...

「開発」→「ダウンロード」→「MORE」と進み、検索ウィンドに「command line tool」と入力し、検索します。

リリースが新しい順に並べ替え、最新を使います(betaでないもの)
ダウンロードにはAppleIDが必要です。
インストールにはちょっと時間がかかるので、気長に待ちましょう。

Command Line Tools for Xcode 11.2 をインストールしました。

Homebrewをインストール

Homebrewがインストールされていないことを確認します。

$ brew -v

-bash: brew: command not found と出たので、未インストールを確認しました。

Homebrewのサイトにアクセスし、サイトに記載のコマンドをターミナルに貼り付けて実行します。

Homebrew
The Missing Package Manager for macOS (or Linux).

Homebrewがインストール完了したことを確認します。

$ brew -v
Homebrew 2.2.0
Homebrew/homebrew-core (git revision 54aa; last commit 2019-11-30)

Homebrewでpyenvをインストール

まずは、pyenvがインストールされていないことを確認します。

$ pyenv -v

-bash: pyenv: command not found と出ましたので、未インストールであることが確認できました。

確認できたので、pyenvをインストールします。

$ brew install pyenv

先ほどと同じコマンドを実行し、インストールが完了したことを確認します。

$ pyenv -v
pyenv 1.2.15

次に、pyenvを設定します。

macOS Catalinaからはターミナルのデフォルトのシェルがbashではなく、zshになったようですが、私の環境はCatalinaですがbashでしたので以下のようにします。

以下をターミナルに入力します。何も起きないのですが、問題ないようです。

$ 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

pyenvでPython3をインストール

以下のコマンドで、インストール可能なPythonのバージョンを確認します。

$ pyenv install --list

確認した結果、執筆時点(2019/12/01)で安定版の最新が3.8.0だったので、3.8.0を入れてみます。(一応、Pythonのサイトでも3.8.0が安定版の最新であることを確認しました)

3.8.0をインストールします。

$ pyenv install 3.8.0

インストールにはちょっと時間がかかりますが、焦らず待ちます。

インストールが完了したら、Pythonのバージョンを確認してみます。

$ pyenv versions
  system
  3.8.0

この時点ではまだMacに元々インストールされているPython2(2.7.16)を使用することになっているので、3.8.0をデフォルトで使うように設定します。

$ pyenv global 3.8.0

変更されたか確認します。

$ python --version
Python 3.8.0

3.8.0をデフォルトで使用できるようになりました。

pyenvでAnacondaをインストール

IDEであるJupyter NotebookやSpyderを使いたいので、Anacondaをインストールします。

執筆時点(2019/12/01)で最新の2019.10をインストールします。

$ pyenv install anaconda3-2019.10

Python3のインストール時と同様に、Anaconda3-2019.10をデフォルトで使うように設定し、確認も行います。

$ pyenv global anaconda3-2019.10
$ pyenv versions

上記により、デフォルトのPythonのバージョンが変わってしまっていたら、再度以下を実行します。(Anacondaに同封されている?Pythonのバージョンに置き換わってしまったのかもしれません。Python3.7.4と表示されていました。)

$ pyenv global 3.8.0
$ python --version
Python 3.8.0

condaでAnacondaの仮想環境を作成

Pythonの仮想環境を作るにはvenvを使用しますが、Anacondaで仮想環境を作るにはcondaを使用します。

condaのバージョンを確認しようとしたらcondaが無いと言われました。

$ conda --version
pyenv: conda: command not found

The `conda' command exists in these Python versions:
  anaconda3-2019.10

これは、pyenvでインストールしたが、globalにインストールしていないからなので以下を参考に設定します。

Anaconda&Jupyterの環境構築をした - Qiita
1. install Homebrewをインストールしておいて、次を実行 $ brew install pyenv $ pyenv install anaconda3-2.5.0 GUIのインストーラーがあるみたいだけれど...

作業用のフォルダを作って、そこでpyenvを使ってAnacondaをインストールします。

$ pyenv local anaconda3-2019.10
$ conda --version
conda 4.7.12

今度は怒られませんでした。

一応アップデートしておきます。

$ conda update conda

なぜかPython3.8.0ではなく3.7.4(未解決です)

で、ここまでPython3.8.0で来たのですが、condaを入れたあとは、globalのPythonが3.7.4から変更できなくなってしまいました。私の技術不足です。

$ pyenv global 3.8.0としても、$ python –versionとするとPython 3.7.4のままです。どうやら、上にも書きましたが、Anaconda同封の3.7.4となってしまったようです。

今回はPython3を導入することが目的ですので、ちょっと気持ち悪いですが3.7.4でも良いのでこのまま進めるようにします。

Python3.7.4の仮想環境として、py374という名前で構築してみます。

$ conda create --name py374 python=3.7.4

動作

構築できたので、仮想環境に入ってみます。

py374を作る過程で以下の説明がでましたので、この通りやってみます。

# To activate this environment, use
#
#     $ conda activate py374
#
# To deactivate an active environment, use
#
#     $ conda deactivate

が、以下のようにエラーとなってしまいました。

$ conda activate py374

CommandNotFoundError: Your shell has not been properly configured to use 'conda activate'.
To initialize your shell, run

    $ conda init <SHELL_NAME>

Currently supported shells are:
  - bash
  - fish
  - tcsh
  - xonsh
  - zsh
  - powershell

See 'conda init --help' for more information and options.

IMPORTANT: You may need to close and restart your shell after running 'conda init'.

conda ではなく source としました。

$ source activate py374
(py374) $ 

入れました。

でも、一度sourceでactivateしてから、deactivateすると、次にactivateする時はcondaでも入れます。初回condaでinitialが〜と出てたので、初回でなんか引っかかっているのかもしれません。

$ conda activate py374
(py374) $ 

仮想環境から出る時は上記に習って同様に conda とすると、

$ conda deactivate py374
deactivate does not accept arguments
remainder_args: ['py374']

出れませんでした笑

source を使うと一応出れましたが、非推奨のようです。とりあえず出れたので良しとします。

$ source deactivate py374
DeprecationWarning: 'source deactivate' is deprecated. Use 'conda deactivate'.

py374を記載しなければ、condaでも出れました。これが良さそうですね。

$ conda deactivate

仮想環境の一覧表示です。

$ conda info -e
# conda environments:
#
base                  *  /Users/username/.pyenv/versions/anaconda3-2019.10
py374                    /Users/username/.pyenv/versions/anaconda3-2019.10/envs/py374

py374に入った状態で、jupyter notebookを起動してみます。

(py374) $ jupyter notebook

py374に入った状態で、spyderを起動してみます。

(py374) $ spyder

起動できました。

仮想環境py374を削除するには、以下を実行します。

$ conda remove -n py374 --all

また、Anaconda-Navigator がイントールされていましたので、Jupyter NotebookやSpyderを起動するにはこちらを使用しても良さそうです。

py374の仮想環境も選べました。

仮想環境へのライブラリのインストール

ライブラリのインストールはpy374に入った状態で、pipコマンドで可能です。たとえばグラフ描画のmatplotlibを入れる場合は以下です。

(py374) $ pip install matplotlib

他のライブラリをインストールする場合も同じようにできます。

長くなりましたが、以上です(^^)

シェルをbash→zshに変更したらcondaが通らなくなったけど解決(2020/08/10追記)

原因はパスが通ってなかったからなので、パスを通したら使えるようになりました(^^)

zshでもパスを記述します。

まず、以下のコマンドでbash時にどのようにパスを記述していたかを確認します。(テキストエディタが開きます)

$ open ~/.bash_profile

紫色枠で囲んだ、export PATH=”/Users/「あなたのユーザ名」/.pyenv/versions/anaconda3-2019.10/bin:$PATH” を.zshrcファイルに記載します。

.zshrcファイルは不可視ファイルなので、ターミナルで以下を実行して可視化します。

$ defaults write com.apple.finder AppleShowAllFiles TRUE
$ killall Finder

すると、Finderで見えるようになります。

ファイルがある場所は「あなたのユーザ名」直下です。

もしファイルがない場合は、以下を実行してファイルを生成します。

$ touch .zshrc

以下を実行してファイルを開き、先程のパスを記載します。

% open ~/.zshrc

もともと.zshrcファイルに他の記載がある場合は、「# Customize to your needs…」の下に記載します。

記載したらファイルを保存して、ターミナルを再起動し、再度以下のようにconda activateを実行してみます。

$ conda activate py374

もし、condaをinitializeしろというエラーがでたら以下を実行し、ターミナルを再起動します。

$ conda init zsh

追記終わり(^^)

コメント

タイトルとURLをコピーしました