Python 3 インストール
Python 2.7 は2020年1月1日をもってサポート終了しました(ただし2020年4月に最後のバージョン2.7.18が出ました)。Python 2.8 は出ません。
ここでは Python 3 の最新版を一つだけインストールする方法を解説します。複数の Python を切り替えて使う方法は、例えばこちらの解説をご参照ください。
最新のものは Python 3.12 です。この後にさらに小数点が付いて 3.12.x のようなバージョン番号になります。3.12 が出た当初はまだ対応していないライブラリがあったのですが、3.12.2 くらいの時点でほぼすべてのライブラリが対応しましたので、ここでは 3.12.x の最新のものをインストールすることにします。
なお、Status of Python versions にあるように、現在3.8以上のバージョンがサポートされています。
インストールしないで Google Colaboratory で使う方法については実行のページに移しました。
ライブラリ名のタイポ(綴り間違い)を狙ってマルウェアをインストールさせる手口が見つかっています。ライブラリをインストールするコマンド pip3 install 〜
を打ち込むときは、なるべく、正しい例をコピペしましょう。
公式サイト Python.org からのインストール(Windows)
まず、初心者のかたで、今までどこかで Python をインストールしたけれどうまく設定できていないという場合は、[スタートボタン]→[⚙設定]→[アプリ]で、それっぽいものをアンインストールしてから始めるほうがいいかもしれません。
Python のインストーラを Download Python から最新版をダウンロードし、開きます。「Install Now」をクリックする前に、特に初心者のかたは、インストーラの最初の画面で「Add Python 3.12 to PATH」にチェックを付けるほうが楽だと思います。また、「Install Now」のすぐ下に、インストールされるパスが表示されます。私の場合、C:\Users\okumu\AppData\Local\Programs\Python\Python312
と表示されました。ここが全角だったり文字化けしていたりする場合は、下の説明を見てください。問題なければ「Install Now」をクリックします。ユーザーアカウント制御「このアプリがデバイスに変更を加えることを許可しますか?」が出ますので「はい」をクリックするとインストールが始まります。インストールが無事終われば「Close」をクリックします。
インストールされるパスが全角だったり文字化していたりする場合は、インストーラが起動した画面で「Customize installation」をクリックし、「Next」をクリックし、「Customize install location」の右の「Browse」をクリックし、「PC」→「C:」を選び、「新しいフォルダーの作成」で例えば Python
というフォルダを作り、それをインストール場所に設定します。このあたりは実験が不十分なので、情報があれば教えてください。
確認として、Windows PowerShell(あるいは VS Code のターミナル、またはコマンドプロンプト)を立ち上げ、
where.exe python
と打ち込んで、正しい位置にある python
コマンドが実行されているかを確認します(コマンドプロンプトなら where python
でいいのですが PowerShell ではうまくいかないようです)。うまくいっていれば
C:\Users\ユーザ名\AppData\Local\Programs\Python\Python312\python.exe C:\Users\ユーザ名\AppData\Local\Microsoft\WindowsApps\python.exe
と出ます(2行目はもともと入っている python
コマンドで、後述のように、ストアアプリをダウンロードする画面を開くだけの機能しかありません)。これ以外の python.exe
が出ても、それが最初の行でなければ、問題ありません。
同様に pip
も確認します。
C:\Users\ユーザ名\AppData\Local\Programs\Python\Python312\Scripts\pip.exe
ほかに IDLE(Integrated Development and Learning Environment)という簡単な統合開発環境がインストールされますが、ここでは使いません。
いろいろなパッケージのインストールは pip
コマンドを使って行います。インストールされるパッケージは PyPI にあるものです。
まずは、アップデートの必要なパッケージを、次のコマンドで調べます:
pip list --outdated
もし pip
そのものが古いと言われたら、
pip install --upgrade pip
としてアップグレードします。これ以外に必要なパッケージは、その都度インストールします。例:
pip install matplotlib pandas jupyterlab
念のため、Windows PowerShell でパスを確認するには $env:path
と打ち込みます。コマンドプロンプトなら path
と打ち込みます。
追記:サードパーティのウイルス対策ソフトによっては、Python の動作、特に Jupyter Notebook に支障があるようです。Windows にもともと入っているウイルス対策ソフト Windows Defender なら大丈夫です。
なお、python のパスが設定されていない場合でも使えるように、py.exe というランチャー(起動用プログラム)が C:\Windows の中にインストールされます。こちらを使ってもかまいません。この場合、pip コマンドの代わりに py -m pip
のように打ち込みます。
公式サイト Python.org からのインストール(Mac)
Download Python からインストーラをダウンロードし、インストールします。Universal バイナリですので、Intel でも Apple Silicon でも使えます。/Library/Frameworks/Python.framework/Versions/3.12/bin
に python3
などのバイナリが入ります。また、/usr/local/bin
に
2to3
,
2to3-3.12
,
idle3
,
idle3.12
,
pip3
,
pip3.12
,
pydoc3
,
pydoc3.12
,
python3
,
python3-config
,
python3-intel64
,
python3.12
,
python3.12-config
,
python3.12-intel64
というシンボリックリンクができます。
以下では、ホームディレクトリ(例えば私なら /Users/okumura
)を ~
と略記しています。
インストールすると、Mac では(bash を使っていれば)~/.bash_profile
または(zsh を使っていれば)~/.zprofile
の最後にパスが付け加えられます:
# Setting PATH for Python 3.12 # The original version is saved in .zprofile.pysave PATH="/Library/Frameworks/Python.framework/Versions/3.12/bin:${PATH}" export PATH
ターミナルを立ち上げ直すか、あるいはターミナルに(bash なら). ~/.bash_profile
、(zsh なら)source ~/.zprofile
と打ち込みます。
私は ~/.zshenv
に環境変数を書いているのでそちらに移動しました。
以上ができたら、ターミナルに which python3
と打ち込んで、次のように表示されるか確認します:
/Library/Frameworks/Python.framework/Versions/3.12/bin/python3
いろいろなパッケージのインストールは pip3
コマンド(または python3 -m pip
)を使って行います。インストールされるパッケージは PyPI にあるものです。まずは、一般ユーザで
pip3 list --outdated
と打ち込んで、更新の必要なパッケージがないか確認します。もし例えば pip
が更新を要するなら、
pip3 install --upgrade pip
と打ち込みます。
必要なパッケージをインストールします。例:
pip3 install matplotlib pandas jupyterlab
これだけで、依存関係にあるパッケージ群(anyio appnope argon2-cffi argon2-cffi-bindings asttokens attrs
Babel backcall beautifulsoup4 bleach certifi cffi
charset-normalizer contourpy cycler debugpy decorator defusedxml
entrypoints executing fastjsonschema fonttools idna ipykernel
ipython ipython-genutils jedi Jinja2 json5 jsonschema
jupyter_client jupyter_core jupyter-server jupyterlab
jupyterlab-pygments jupyterlab_server kiwisolver MarkupSafe
matplotlib matplotlib-inline mistune nbclassic nbclient nbconvert
nbformat nest-asyncio notebook notebook_shim numpy packaging
pandas pandocfilters parso pexpect pickleshare pillow
prometheus-client prompt-toolkit psutil ptyprocess pure-eval
pycparser Pygments pyparsing pyrsistent python-dateutil pytz
pyzmq requests Send2Trash six sniffio soupsieve stack-data
terminado tinycss2 tomli tornado traitlets urllib3 wcwidth
webencodings websocket-client
)がインストールされます。
なお、この直後に
pip3 list --outdated
と打ち込むと、すでに更新が必要なパッケージがあるかもしれませんが、pip
そのもの、あるいは普段使いの matplotlib
や pandas
などが古い場合を除き、下手に更新すると依存関係を崩すので、更新の必要はありません。もし依存関係が崩れたら、必要なパッケージを再更新すれば直ります。例えば numpy
を更新しすぎために numba
に不具合が生じたならば、pip3 install --upgrade numba
とすれば、numba
が動くように numpy
をダウングレードしてくれるはずです。
なお、このとき “Defaulting to user installation because normal site-packages is not writeable” というメッセージが出ますが、これはシステムの site-packages
ディレクトリは管理者権限がないと書き込めないので ~/Library/Python/3.12/lib/python/site-packages
にインストールしたということを意味します。また、実行ファイルが ~/Library/Python/3.12/bin
にインストールされますので、こちらにもパスを通しておきます。具体的には ~/.bash_profile
または ~/.zprofile
にさきほど追加されたものを
PATH="/Library/Frameworks/Python.framework/Versions/3.12/bin:${PATH}" PATH="${HOME}/Library/Python/3.12/bin:${PATH}" export PATH
のように書き直して、読み込み直します。
Python 3.12.x をインストールすると、システムの「アプリケーション」に Python 3.12 というフォルダ(/Applications/Python 3.12
)が作られます。この中に Install Certificates.command
というシェルスクリプトがあります。これはPythonからWebをアクセスする際のSSL/TLSルート証明書をインストールするためのものです。管理者権限でこれを実行しておきましょう:
cd /Applications/Python\ 3.12 sudo ./Install\ Certificates.command
一般的なパッケージは簡単にインストールできるはずですが、ソースコードでしか提供されていないパッケージもたまにあります。そういったものをインストールするには、あらかじめターミナルに xcode-select --install
と打ち込んでコマンドラインツールをインストールしておく必要があります。中には、ビルドに gfortran が必要なものもあります。Homebrew なら brew install gcc
で入ります(巨大ですし、初心者は入れないほうがいいでしょう)。
ときどき、アップデートの必要なパッケージを、次のコマンドで調べます:
pip3 list --outdated
パッケージをアップデートするには、次のように打ち込みます:
pip3 install --upgrade パッケージ名をスペースで区切って並べる
Python をアンインストールするには /Library/Frameworks/Python.framework
および ~/Library/Python
を消します。/usr/local/bin
にできたシンボリックリンクも消します。~/.bash_profile
の類に追加した PATH も消します。
macOS に最初から入っている Python
macOS では、ターミナルに xcode-select --install
と打ち込んでコマンドラインツールをインストールすると、universal binary の /usr/bin/python3 が入ります(macOS Sonoma 14.3 時点では Python 3.9.6)。公式サイトの Python と同様に使えるはずです。
Homebrew によるインストール(Mac)
Homebrew(ホームブルー)というパッケージマネージャを使っているなら、ターミナルに brew install python3
と打ち込めば、簡単に最新の Python が入ります。入るものは Python.org からインストールするものとほぼ同等ですが、まったく同じではありません(詳しくは Python — Homebrew Documentation 参照)。
AlmaLinux 9.3 でのインストール
$ python3 --version Python 3.9.18
Python 3.9.18 が入っています(もし入っていなければ sudo dnf install python3
)。追加でpipを sudo dnf install python3-pip
として入れます。あとは pip で必要なパッケージを入れます。
これ以降はあまり見直していないので古くなっているかもしれません。
(Windows)WSL2のUbuntuのPython
WSL2のUbuntuの入れ方については、WindowsのWSL2でVS Codeを使って開発をご覧ください。ちなみに、私はWindows側をほとんど使いませんので、マシンのメモリ16Gのうち12GをUbuntuで使いたいと思いました(デフォルトは半分の8Gになります)。そのため、Windows側のホームディレクトリ(C:\Users\ユーザ名)に .wslconfig
というファイルを作り、次のように書き込んでおきました:
[wsl2] memory=12GB
GPUのあるマシンなら、WindowsとWSL2で使えるNVIDIAドライバを、Windows側でインストールしておきます。
WSL2 の Ubuntu 20.04 には python3
がすでに入っています。念のためアップグレード:
sudo apt update sudo apt upgrade
python3 --version
と打ち込むと Python 3.8.10 と表示されます。pip がないのでインストールします:
sudo apt install python3-pip pip install --upgrade pip pip install matplotlib pandas jupyterlab japanize-matplotlib
これで python3
や ipython
が使えます。
Jupyter Lab を使う際には、あらかじめ使いたいブラウザを環境変数で設定しておきます。例:
export BROWSER="/mnt/c/Program Files/Google/Chrome/Application/chrome.exe"
また、
jupyter lab --generate-config
と打ち込むと、~/.jupyter/jupyter_lab_config.py
という設定ファイルができますので、その中の
# c.ServerApp.use_redirect_file = True
というところを
c.ServerApp.use_redirect_file = False
と書き直します。これで、Ubuntu のシェルで jupyter lab
と打ち込めば、Windows 側のブラウザが開いて Jupyter Lab が使えるはずです。
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 を立ち上げましょう。
Brython
Brython(Browser Python)はWebブラウザの中で動くPython(つまりJavaScriptで実装したPython)です。自分のWebページ内で動かすことができます。こちらで試せます。
東京書籍の EduTown プログラミング で使っているのも brython です。
その他の学習用環境
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)。グラフィックスはできないようです。
QGIS(オープンソースのGISソフトウェア)にもPythonが含まれています。
スマホや電卓でPython
iOS/iPadOS に iSH という無料のアプリ(中身は Alpine Linux)を入れて
apk add python3 py3-pip
と入力すると python3 コマンドや pip コマンドが使えるようになります。最初はOSが許可を求めてきますので許可を与えます。その間に apk コマンドのほうはタイムアウトしてしまうことが多いため、エラーになったら上記コマンドを再度投入します(矢印キーを上にスワイプすると一つ前のコマンドに戻ります)。うまくいったら python3 と打ち込むと Python が起動します。たいへん便利です。残念ながら日本語は表示できません。
ほかに、iOS用の Pythonista 3 というアプリ(有料)でPythonが使えます。
Carnets - Jupyter というアプリ(無料)は iOS・iPadOS で動く Jupyter notebook 環境です。Python インタープリタも入っており、Numpy、Sympy、Matplotlib、Pandas などが含まれ、なんと OpenCV も使える そうです。
カシオの電卓 fx-CG50 などで MicroPython という Python のサブセットが使えるようです。