Python 3 インストール

macOS や Linux には Python 2.7 が /usr/bin/python として入っていますが,Python 2.7 は2020年1月1日をもってサポート終了しました(ただし2020年4月に最後のバージョン2.7.18が出ました)。Python 2.8 は出ません。Windows には Python が入っていません。いずれにしても,これから Python を使うなら,Python 3 にしましょう。ここでは Python 3 のいろいろなインストールの方法を紹介します。

最新のものは Python 3.8.6 です。すでに TensorFlow をはじめほとんどのツールが Python 3.8 に対応しましたので,そろそろ 3.7 から 3.8 に移行して大丈夫だと思います。私も遅ればせながら 3.8 にしました。もっとも,3.6 や 3.7 が動いていれば,強いて 3.8 にする意味はあまりありません。Google Colaboratory はまだ 3.6 です。

インストールしないで Google Colaboratory で使う方法については実行のページに移しました。

pip については ImportError in system pip wrappers after an upgrade #5599 が参考になります。つまり,pip がおかしくなったら python3 -m pip を使いましょう。

Mac ではよく "ApplePersistenceIgnoreState: Existing state will not be touched. New state will be written to (null)" というメッセージが出ます。無害ですが,ターミナルに次のように打ち込めば消えてくれます:

defaults write org.python.python ApplePersistenceIgnoreState NO

公式サイト Python.org からのインストール(Windows)

まず,初心者のかたで,今までどこかで Python をインストールしたけれどうまく設定できていないという場合は,[スタートボタン]→[⚙設定]→[アプリ]で,それっぽいものをアンインストールしてから始めるほうがいいかもしれません。

Python のインストーラを Download Python からダウンロードします。いくつかありますが,ここでは Python 3.8.x の x が一番大きいものの64ビット版 Windows x86-64 executable installer を使います(32ビット版でもかまいません)。初心者のかたは,インストーラの最初の画面で必ず「Add Python 3.8 to PATH」にチェックを付けてから「Install Now」をクリックします。ユーザーアカウント制御「このアプリがデバイスに変更を加えることを許可しますか?」が出ますので「はい」をクリックするとインストールが始まります。デフォルトで C:\Users\ユーザ名\AppData\Local\Programs\Python\Python38 以下(pip などはさらにその下の Scripts の中)に入ります。

ユーザ名に全角文字を使っていると問題が生じることがあるようです。Windowsのユーザ名はなるべくスペースを含まない半角英数字だけにしましょう(例:okumura)。なお,ユーザ名に全角文字を含んでも,次のようにすれば全角文字を含まないインストール場所が指定できます。インストーラが起動した画面で「Customize installation」をクリックし,「Next」をクリックし,「Customize install location」で C:\Users\奥村 晴彦\AppData\Local\Programs\Python\... のような全角フォルダ名が出た際,その右の「Browse」をクリックし,「PC」→「C:」を選び,「新しいフォルダーの作成」で例えば Python というフォルダを作り,それをインストール場所に設定します。このあたりは実験が不十分なので,情報があれば教えてください。

確認として,Windows PowerShell(あるいは VS Code のターミナル,またはコマンドプロンプト)を立ち上げ,

where.exe python

と打ち込んで,正しい位置にある python コマンドが実行されているかを確認します(コマンドプロンプトなら where python でいいのですが PowerShell では .exe を省略できないようです)。うまくいっていれば

C:\Users\ユーザ名\AppData\Local\Programs\Python\Python38\python.exe
C:\Users\ユーザ名\AppData\Local\Microsoft\WindowsApps\python.exe

と出ます(2行目はもともと入っている python コマンドで,後述のように,ストアアプリをダウンロードする画面に移動するだけの機能しかありません)。

同様に pip も確認します。

C:\Users\ユーザ名\AppData\Local\Programs\Python\Python38\Scripts\pip.exe

ほかに IDLE(Integrated Development and Learning Environment)という簡単な統合開発環境がインストールされますが,ここでは使いません。

いろいろなパッケージのインストールは pip コマンドを使って行います。インストールされるパッケージは PyPI にあるものです。

まずは,アップデートの必要なパッケージを,次のコマンドで調べます:

pip list --outdated

最初は pip そのものが古いはずですので,まずこれを python -m pip install --upgrade pip としてアップグレードします。これ以外に必要なパッケージは,その都度インストールします。例:

pip install numpy matplotlib pandas jupyter

念のため,Windows PowerShell でパスを確認するには $env:path と打ち込みます。コマンドプロンプトなら path と打ち込みます。

追記:ウイルスバスターが入っていると Jupyter Notebook がうまく立ち上がらないようです。ウイルスバスターは外して Windows Defender を使う設定にしましょう。

公式サイト Python.org からのインストール(Mac)

Download Python からインストーラをダウンロードし,インストールします。/Library/Frameworks/Python.framework/Versions/3.8/bin に python3 などのバイナリが入ります。

インストールすると,Mac では ~/.bash_profile の最後にパスが付け加えられます:

PATH="/Library/Frameworks/Python.framework/Versions/3.8/bin:${PATH}"
export PATH

~/.bash_profile を更新したらターミナルに . ~/.bash_profile と打ち込みます。python3 コマンドのほか,IDLE(Integrated Development and Learning Environment)という簡単な統合開発環境がインストールされます。

いろいろなパッケージのインストールは pip3 コマンドを使って行います。インストールされるパッケージは PyPI にあるものです。

まずは,アップデートの必要なパッケージを,次のコマンドで調べます:

pip3 list --outdated

最初は pip そのものが古いはずですので,まずこれをアップデートしましょう。単に pip3 install --upgrade pip とすれば Permission denied のエラーになると思いますので,次のようにターミナルに打ち込みます:

pip3 install --user --upgrade pip

このように --user を付けると,ユーザ権限で書き込める場所(~/Library/Python/* または C:\Users\ユーザ名\AppData\Python 以下)にインストールされます(次からはシステム側に書き込めないと自動的にユーザ側に書き込んでくれるようになるようです)。新しい実行ファイルもそちらに入りますので,必要に応じてパスを設定します。Mac なら ~/.bash_profile にさきほど追加されたものを

PATH="/Library/Frameworks/Python.framework/Versions/3.8/bin:${PATH}"
PATH="${HOME}/Library/Python/3.8/bin:${PATH}"
export PATH

と編集すればいいでしょう。これ以外に必要なパッケージは,その都度インストールします。例:

pip3 install --user ipython numpy matplotlib pandas jupyter

ソースでしか提供されていないパッケージには,ビルドに gfortran が必要な場合もあります。Homebrew なら brew install gcc で入ります(巨大なのであまり乗り気しませんが)。

https サイトのスクレイピングで証明書エラーになる場合は次のコマンドの管理者権限での実行が必要になるようです:

sudo /Applications/Python\ 3.8/Install\ Certificates.command

アンインストールするには /Library/Frameworks/Python.framework および ~/Library/Python を消します。/usr/local/bin にできたシンボリックリンクも消します。~/.bash_profile に追加した PATH も消します。

Microsoft Store 版 Python

Windows の場合は Microsoft Store からもダウンロードできます(「Python」で検索)。最近の Windows なら,PowerShell かコマンドプロンプトで「python」と打ち込むと,「ストア」が立ち上がって「Python」をインストールする画面が出てきます。インストール場所は C:\Users\ユーザ名\AppData\Local\Microsoft\WindowsApps です。

コマンドは 3 を付けても付けなくても同じです(python3 = python,pip3 = pip)。

macOS 10.15 Catalina の Python

2019-10-08 に出た macOS Catalina には,以前からの /usr/bin/python(バージョン 2.7.16)に加えて,/usr/bin/python3 が入っています。現時点のバージョンは 3.7.3 です。ターミナルに xcode-select --install と打ち込んでコマンドラインツールをインストールしてから使います。まずは

/usr/bin/pip3 install --user --upgrade pip

で pip を更新します。新しい pip コマンド等が ~/Library/Python/3.7/bin に入りますので,そちらにパスを通しておきます。あとは本家のものと同じように使えそうです。

Anaconda によるインストール

Anaconda Distribution からご自分の環境に合った最新のインストーラをダウンロードし,インストールします。全部入りなので,たいへん大きいパッケージです。最小限のインストールから始めて少しずつ足していくほうが好みの人は,下にある Miniconda を使うほうがいいでしょう。

アップデートは conda コマンドで行います。具体的な方法は,下の Miniconda のところをご覧ください。

Windows版はユーザ名に全角文字が含まれているとインストールできない(できてもまともに動かない)ようです。どうしてもAnacondaを使わなければならない場合には,ユーザ名を変更する方法をググってお調べください。

Homebrew によるインストール(Mac)

巨大な Xcode はたいていの場合に不要ですが,ターミナルに xcode-select --install と打ち込むとインストールされる “Command Line Tools” は,Mac を使っている開発者にとって必需品です。さらに,Homebrew(ホームブリュー)というパッケージマネージャを使っているかたが多いと思います。この場合,ターミナルに brew install python3 と打ち込めば,簡単に最新の Python が入ります。入るものは Python.org からインストールするものとほぼ同等ですがまったく同じではありません(詳しくは Python — Homebrew Documentation 参照)。現在は Python 3.7 ですが Python 3(python@3.8)も入れることができます。混乱しやすいので 3.8 が Homebrew の正式になるまでは 3.7 を使い続けるほうがよさそうです。

デフォルトでは /usr/local/binpython3pip3 などのコマンドが入ります。また,/usr/local/opt/python/libexec/bin には python など 3 の付かない名前のシンボリックリンクが入ります。

/usr/local/bin のシンボリックリンクは python.org のものをインストールしたら上書きされてしまいますので,Homebrew のものを主に使う場合は brew link --overwrite python3 と打ち込みます。さらにわけがわからなくなったら brew reinstall python3 で再インストールできます。

この時点での pip は /usr/local/bin/pip3 です。まず pip 自身の更新をします:

pip3 install --upgrade pip

これで /usr/local/bin にまったく同じ pippip3pip3.7 が入るはずですので,以降は pip でも pip3 でもかまいません(確認してください)。

これで python と打ち込むと macOS 側の Python 2 が,python3 と打ち込むと Homebrew 側の Python 3 が動くことになります。ipython は macOS 側にないので 3 を付ける必要はありません(付けてもかまいません)。python と打ち込んで Python 3 が動くようにしたければ,/usr/local/opt/python/libexec/bin のパスを /usr/bin より先に設定します。

ApplePersistenceIgnoreState という警告を消すにはターミナルに defaults write org.python.python ApplePersistenceIgnoreState NO と打てばよいみたいです(参照)。

Homebrew による pyenv 経由のインストール(Mac)

brew install pyenv でまず pyenv を入れてから pyenv 経由で各種 Python を入れる方法です。

まず ~/.bash_profile に次を書き込みます:

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

次のコマンドでインストール可能なバージョンを確認します:

pyenv install --list

例えば Python 3.7.3 をインストールしたいなら

pyenv install 3.7.3

と打ち込みます。pyenv versions でバージョンを確認します。おそらく system3.7.3 があり,デフォルトでは前者になっているので,新しいほうに替えます:

pyenv global 3.7.3
pyenv rehash

python --version でバージョンを確認します。

要らなくなったバージョンは pyenv uninstall 3.7.2 のようにして消せます。

あとは pip で更新・追加インストールします。例:

pip list --outdated
pip install --upgrade pip
pip install ipython numpy scipy matplotlib pandas jupyter

Miniconda によるインストール

Miniconda から最新の Python 3.x 版インストーラをダウンロードし,実行します。

Windows の exe 形式のインストーラは,デフォルトの「Just Me(自分だけ)」設定なら管理者権限不要でインストールできます。スタートメニューの「Anaconda」の中に「Anaconda Powershell Prompt」「Anaconda Prompt」が入るので,好きな方を使います。

Mac にも pkg 形式のインストーラがありますが,私は Mac や CentOS で bash installer を使いました:

bash Miniconda3-latest-*-x86_64.sh

まずは ENTER を押せと言ってきます。Enter を押すと,ライセンスを表示して,アクセプトするかと聞いてくるので,yes と答えます。次に,インストールの場所は ~/miniconda3 で良いかと聞いてくるので,それで良ければ Enter を,別の場所(例えば /usr/local/miniconda3)に変えたければその場所を打ち込みます。最後に conda init を実行するかと聞いてくるので,yes と打つと,Mac では ~/.bash_profile の最後に,Linux では ~/.bashrc の最後に,コードが追加されます。シェルを開き直すか ~/.bash何々 を再読み込みすると,Mac なら自動でプロンプトの最初に (base) が出て,基本設定の Miniconda 環境が使えるようになります。Linux では安全のため毎回 conda activate と打たないと Miniconda 環境になりません。元の環境(システムの /usr/bin/python を使う)に戻すには conda deactivate します。Mac でも自動アクティベートをオフにしたければ conda config --set auto_activate_base false と打ち込みます(~/.condarcauto_activate_base: false と書き込まれます)。

パッケージ管理は conda コマンドで行います:

conda update --all
conda list
conda install ipython numpy scipy matplotlib pandas scikit-learn

(Windows)WSLのLinuxへのインストール

Visual Studio CodeとWSLでPython開発に挑戦してみよう参照。要は WSL の Ubuntu に apt で python3 と python3-pip を入れる。グラフィックスは多分面倒(Jupyter NotebookならOK)。

CentOS でのインストール

CentOS 7 の標準の python コマンドは 2.7.x ですが,yum install python3 で /usr/bin/python3 や /usr/bin/pip3 が入ります(3.6.x)。

CentOS 8 では /usr/bin/python3,/usr/bin/pip3 のほうが標準です。もし入っていなければ dnf install python36 で入ります(3.6.x)。

ソースからのインストール

CentOS 7 なら yum install libffi-devel sqlite-devel しておきます。

Download Python からソースのtarballをいただいてきて展開し,ビルドします。次は3.7.7の場合です:

wget https://www.python.org/ftp/python/3.7.7/Python-3.7.7.tar.xz
tar xvJf Python-3.7.7.tar.xz
cd Python-3.7.7
./configure --enable-optimizations
make
make install

Python 3.8.5 でやってみたらエラーになりました。--enable-optimizations をやめるか,未確認ですが GCC を 8.1.0 にアップデートすればよいようです。

実行ファイル python3pip などが(デフォルトでは)/usr/local/bin に入りますので,そこにパスを通しておきます。Linux では python コマンドで Python 2 が動くことが想定されていることがあるので,python3 という名前はそのままにしておくほうがよさそうです。

Google Colab を使う

Google Colaboratory については実行のページに移しました。

Azure Notebooks を使う

https://notebooks.azure.com は Google Colab と同じようなサービスです。

Kaggle の notebook (kernel) を使う

Jupyter Notebook が使えます。

Google Colab のようなサーバを立ち上げる

サーバ側に Python をインストールし,jupyter 等を入れておきます。サーバ側で jupyter notebook --generate-config を実行し,生成された ~/.jupyter/jupyter_notebook_config.py を編集してリモートからの接続を許可します。

c.NotebookApp.allow_remote_access = True
c.NotebookApp.ip = '*'
c.NotebookApp.open_browser = False
c.NotebookApp.port = 8888

パスワードを設定するには,Python で from notebook.auth import passwd; passwd() を実行し,パスワードを打ち込み,表示されるパスワードのハッシュを ~/.jupyter/jupyter_notebook_config.py に記入します:

c.NotebookApp.password = 'sha1:0eced8e273ef:1ef78265e258e76cc0d01e60afcc8df50ea58f8d'

これで,サーバ側で,重要なものの入っていないディレクトリの中で nohup jupyter notebook & を実行し,リモートのブラウザで http://ホスト名:8888 をアクセスします。

パスワードを設定しない場合は,jupyter 起動時に出るトークンを含んだ URL にアクセスします。

このままではローカルユーザの権限ですべてのファイルにアクセスできてしまいますので,不特定多数の人に使ってもらう際には要注意です。

もっと本格的にやるには JupyterHub を立ち上げましょう。

その他の学習用環境

Jupyter のサイトで Try it in your browser のボタンをクリックすることでも Jupyter Notebook が試せます。ほかにも,オンラインで種々の言語の実行環境を提供するサービスがいくつかあるようです。CoCalc とか repl.it とか codepad とか ideone とか。

初心者の学習用に作られたオンラインプログラミング環境 ビットアロー(Bit Arrow)では,ブラウザ上で JavaScript,ドリトル,簡易C,DNCL,Python が使えます。Python はブラウザの JavaScript で実行することも,サーバ側の Python 3 を実行することもできます。後者の場合は matplotlib の最小限の機能も使えます。日本語 Python PyPEN も実験中。

PyPy という JavaScript の JIT コンパイラがあり,ブラウザ上で実行できます(お試しサイト pypyjs.org)。グラフィックスはできないようです。

スマホや電卓でPython

iOS用の Pythonista 3 というアプリ(有料)でPythonが使えます。

カシオの電卓 fx-CG50 などで MicroPython という Python のサブセットが使えるようです。