イントロ
- メインのMacでとりあえず動いているPython環境を骨董品の予備機でも整えるにあたって、あちこちに散乱していたインストール時のメモを整理しました。
- 基本方針
- とりあえずPandasとMatplotlibが動けば良い。
- 仮想環境、たぶん自分には関係ない。その時が来たら考える。
- 複数の方法がある場合は直感に従う。
- 他の人のマシンで再現性があるかどうかは一切気にしない。
- オリジナルのDocumentsを参照する。
- Early 2009の iMac, El Capitanでそこそこ動きます。嬉しい。
- 実は、Google Account を持っているなら、Google Colab にアクセスするだけで、メジャーなパッケージがインストールされた状態の Python – 季節のグラフィック・ボードを添えて、が普通のブラウザから使えて、気になるお値段はなんと無料!なのですが、それを書いちゃうとここで終わってしまうので、この事実は伏せたまま書き進めます。
〔2020-12-02追記〕 いま確認したら、Python環境構築ガイド(python Japan)という、メチャメチャわかり易く解説してくれている親切なページがありました。手持ちの Mac で今から 1 時間以内に Python を動かしたい!という方は、そちらに直行されることを強くお勧めします。
とりあえずPythonが動く状態にする
Step 1. Xcodeをインストール: App Storeから入手 〔困った1 😱〕
Step 2. Homebrewをインストール: 以下をTerminalにコピペ入力、ENTER!
パスワードの入力を求められるので、Macのログインパスワードを入力してください(入力はTerminal画面に表示されませんが、ご心配なく)。
/bin/bash -c "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/master/install.sh)"
(2020-10-10追記)以前は ruby を使って download & install を行っていたのですが、最近 bash を使う方法に改定されたようです(Changed from /usr/bin/ruby -e
to bin/bash -c
)。
Step 3. Python3をインストール: 以下をTerminalにコピペ入力、ENTER!〔困った2 😱〕
brew install python
定番パッケージのインストールとメンテ
パッケージのインストール
とりあえずセット
スタート時はとりあえず以下のパッケージを入れておけばちょっとPythonをいじってみる分には十分かと思います。
何か足りなかったらそのときトッピングをマシマシというスタンスで。
- SciPy
- SciPy (pronounced “Sigh Pie”) is a Python-based ecosystem of open-source software for mathematics, science, and engineering. In particular, these are some of the core packages: NumPy, SciPy, MatPlotlib, IPython, Sympy, Pandas.
- Jupyter Notebook
- The Jupyter Notebook is an open-source web application that allows you to create and share documents that contain live code, equations, visualizations and narrative text.
- NumPy
- NumPy is the fundamental package for scientific computing with Python.
- Matplotlib
- Matplotlib is a Python 2D plotting library which produces publication quality figures in a variety of hardcopy formats and interactive environments across platforms.
- Pandas
- pandas is an open source, BSD-licensed library providing high-performance, easy-to-use data structures and data analysis tools for the Python programming language.
pip3を使ってインストール
Pythonをインストールするともれなくpipというパッケージ・インストーラーが付いてくるので、これを使って「とりあえずセット」をインストールすることにします。一式を一気にインストールするScyPy.orgお勧めの方法もありますが、今回は1つずつインストールすることにします(そのほうがトラブった時に問題の切り分けがし易い)。
はじめに念のためpip(pip3)を最新版にアップデートしておきます。以下をTerminalにコピペ入力、ENTER!
pip3 install --upgrade pip
続いて、以下を一行ずつコピペ入力、ENTER、完了待ち、次の行、と繰り返して、ScyPy, Jupyter Notebook, NumPy, Matplotlib, Pandasをインストールします。
場合によって、「もうインストールされていますよ」的なことを言われますが、気にせず最後まで完走します。
pip3 install scipy pip3 install jupyter pip3 install numpy pip3 install matplotlib pip3 install pandas
結果の確認
以下をTerminalにコピペ入力、ENTER、ちゃんとインストールされたか確認します。
pip3 list
ずらずらっと、インストールした覚えの無いものも含めて大量に表示されますが、それで正常です。それらの中に、上記でインストールしたものが全部含まれていれば成功です。
パッケージのメンテナンス
インストールの状態、バージョンチェック、アップデートなどは、Terminalで以下のコマンドを使って行うことができます。
Homebrew関係
#Homebrew自体のアップデート brew update #アップデートの確認 brew updated #全部をまとめてアップデート brew upgrade
pip3 関係
#pip3自体のアップデート pip3 install --upgrade pip #インストールされているパッケージ一覧 pip3 list #アップデートの確認 pip3 list --outdated #パッケージを指定して個別にアップデート pip3 install [package-name] #全部をまとめてアップデート(*) pip3 list --outdated --format=freeze | grep -v '^\-e' | cut -d = -f 1 | xargs -n1 pip3 install -U
(*) Source: stackoverflow How to upgrade all Python packages with pip? スレッドの rbp さんの回答(オリジナルの pip
を pip3
に変えてあります。)
別法として、pip-upgrade-outdated 1.5 を使う手もあります。上記とは異なり、こちらは独立のツールです。試してみたところ、pipのコマンドをパイプラインで繋げた上記の方法よりも少し時間が掛かりました。
おまけ
- jupyter notebook をいちいちタイプするのは面倒なので、
- bashを使っている場合は、
- ~/.bash_profile に alias を作っておく。これで
jn
と打ち込めば Jupyter Notebook が起動。
- ~/.bash_profile に alias を作っておく。これで
- zshを使っている場合は、
- ~/.zshrc に alias を作っておく。これで
jn
と打ち込めば Jupyter Notebook が起動。
- ~/.zshrc に alias を作っておく。これで
- bashを使っている場合は、
alias jn='jupyter notebook' #この行を追加
- Pandasで古いフォーマットの Excel (xls) を read/write したい場合は、xlrd, xlwt も入れておく必要があります。
pip3 install xlrd xlwt
😱 & 😀
- 困った1 😱
- App Storeからインストールしようとしたら「OSのバージョンが古すぎてXcodeをインストールできません」みたいなことを言われてしまいました(下図)。
- 解決法1 😀
- 🍎DeveloperからXcode_8.2.xip [4.5 GB]を探してダウンロード。バージョンの選択にあたっては、@thinkalotさんのXcode – インストール可能 対応バージョン macOS 一覧を参考にしました。ありがとうございました。
- ダブルクリックして解凍、出てきたXcode.appをApplicationsフォルダにドラッグ&ドロップ
- 困った2 😱
- 今回はMachine B(旧マシン)にインストールを試みているので、「〜のバージョンが古い」などのWarningがいっぱい出ました。
- 加えて低スペックなので、各ステップにいちいち時間がかかります。Pythonのインストールは、散歩に出かけて帰ってきたらちょうど終わっていた、みたいなレベル。
- 解決法2 😀
- Warningについては気にしない。動くものは動く、動かないもの動かない。
- 待つのみ。
- 困った3 😱
- macOS を Catalina に upgrade したら、homebrew の upgrade 時に何か文句を言われ、挙げ句の果てに python3 を起動しようとすると
xcrun: error: invalid active developer path (/Library/Developer/CommandLineTools), missing xcrun at: /Library/Developer/CommandLineTools/usr/bin/xcrun
などと文句を言われ起動しなくなってしまった。
- macOS を Catalina に upgrade したら、homebrew の upgrade 時に何か文句を言われ、挙げ句の果てに python3 を起動しようとすると
- 解決法3😀
- Terminal から
xcode-select --install
と打ち込んで Xcode 関係の upgrade をすれば解決(*)。
- Terminal から
(*) Source: stackoverflow Git is not working after macOS Update スレッドの dustbuster さんの回答
- 困った4 😱
- ‘ナントカカントカ incompatible ドウトカコウトカ’ などのエラーが頻出して心が折れる。どうやら内輪揉めが発生しているらしい。
- 解決法4😀
- 仮想環境を導入して幸せな生活を手に入れる。
環境
- Machine A(弊社最新鋭マシン)
- iMac (Retina 5K, 27-inch, Late 2015)
- macOS Mojave Version 10.14.6
- Processor 3.2 GHz Intel Core i5
- Memory 24 GB 1600 MHz DDR3
- Graphics AMD Radeon R9 M380 2 GB
- Machine B(旧マシン)
- iMac (24-inch, Early 2009)
- OS X El Capitan Version 10.11.6
- Processor 2.66 GHz Intel Core 2 Duo
- Memory 8 GB 1067 MHz DDR3
- Graphics NVIDIA GeForce 9400 256 MB