Python3 インストール(Mac編)

以下.Mac OS X 10.15, 11.6でテストしています.
おそらく最新のMacOSでも同様.

(はじめに注意!)Macには標準でPython2がインストールされている.

「アプリケーション」の「ユーティリティ」の「ターミナル」において,pythonを起動してみる

$ python
Python 2.7.16 (default, Mar 25 2021, 03:11:28) 
[GCC 4.2.1 Compatible Apple LLVM 11.0.3 (clang-1103.0.29.20) (-macos10.15-objc- on darwin
Type "help", "copyright", "credits" or "license" for more information.
>>>

これはpythonの古いバージョンなので,特に理由がない限り,後述のPython3を使いましょう.
文法が結構異なるので,これから新しく覚えようとする場合は,その違いに注意!

ちなみに,このPython入力モードを終わらせるには,exit() と打ち込んでリターン.

Python3と,パッケージのインストール

インストーラーのダウンロード

pythonweb.png
ここ https://www.python.org/downloads/ からインストーラ(.pkg)をダウンロードする.

2021年9月末現在,バージョンは3.9.7です.
python-3.9.7-macosx10.9.pkg のような名前のファイルが入手できる.

インストール

ファイルをダブルクリックして,インストーラを起動.


ライセンス条項を確認.標準インストールで良い.

install2.png
参考までに,「カスタマイズ」を押すと,標準で全てインストールされることがわかる.

install3.png
これでインストール終了.

python3の起動

ターミナルを起動,python3 と打ち込む.「3」が重要

2021/9/25時点

$ python3
Python 3.9.7 (v3.9.7:1016ef3790, Aug 30 2021, 16:39:15) 
[Clang 6.0 (clang-600.0.57)] on darwin
Type "help", "copyright", "credits" or "license" for more information.
>>>

と表示されれば,動作確認OK.これでプログラム入力待ち画面になる.

ここで,>>> は,pythonの入力待ち(プロンプト)とします.
Python入力モードを終わらせるには,exit() と打ち込んでリターン,OSのシェルの入力待ちモードになります.

動作チェック

まず,ターミナルから python3 コマンドを打ち込んで,対話モードで使用してみる.
このモードでは,計算式などを打ち込めば,すぐの実行結果が表示されます.

文中の #以降はコメントとして無視されます.C++での // に相当.

$ python3

>>> 2+3         # たしざん
5

>>> 10*10         # かけざん
100

>>> 2**10           # るいじょう.これはCに無い演算子
1024

>>> 2**100          # るいじょう2.こんな程度では桁溢れしません
1267650600228229401496703205376

>>> 2**10000         # るいじょう3.これでもか!
(省略.自分で確かめてみよう)

>>> 2/3              # わりざん.Cと違って,整数/整数も実数になります.
0.6666666666666666

>>> 2//3             # Cのように切り捨てたい場合は,// を使う.
0

>>> print("Hello")     # 文字列の表示
Hello

>>>exit()
 

ここまでで,python3の基本ソフトウエアのインストールと,動作チェックは終了です.
よく使うパッケージなどのインストールは後述します.

NumPy, SciPy, matplotlibをインストール

ここでは,よく使うパッケージをネットワークからインストールしておきましょう.
回線速度によるが,そんなに時間はかから無い(はず?).
関連パッケージも自動的にインストールされる.

Python3 のパッケージ管理コマンド pip3 コマンドを使用して,NumPy, SciPy, matplotlibをインストール.

この手のソフトウエアのインストールは,ふつう管理者権限のあるユーザで行います.

$ pip3 install numpy scipy matplotlib

Collecting numpy
  Downloading numpy-1.19.1-cp38-cp38-macosx_10_9_x86_64.whl (15.3 MB)
     |████████████████████████████████| 15.3 MB 11.0 MB/s 
Collecting scipy
  Downloading scipy-1.5.2-cp38-cp38-macosx_10_9_x86_64.whl (28.9 MB)
     |████████████████████████████████| 28.9 MB 2.6 MB/s 
Collecting matplotlib
  Downloading matplotlib-3.3.0-1-cp38-cp38-macosx_10_9_x86_64.whl (11.4 MB)
     |████████████████████████████████| 11.4 MB 5.7 MB/s 
Collecting python-dateutil>=2.1
(省略)
Successfully installed cycler-0.10.0 kiwisolver-1.2.0 matplotlib-3.3.0 numpy-1.19.1 pillow-7.2.0 pyparsing-2.4.7 python-dateutil-2.8.1 scipy-1.5.2 six-1.15.0

と出ればOK.
「管理者でないとダメ」と言われたら,先頭に sudo をつけて上のコマンドを実行.

$ sudo pip3 install numpy scipy matplotlib
Password:********   <-何も表示されないがパスワードを入力

pip自体のアップデート

WARNING: You are using pip version 21.2.3; however, version 21.2.4 is available.
You should consider upgrading via the '/Library/Frameworks/Python.framework/Versions/3.9/bin/python3.9 -m pip install --upgrade pip' command.

上記のように,「pip が古い!」という警告が出たら,書いてある通りのコマンドを実行して pip を upgrade しよう.

$ sudo /Library/Frameworks/Python.framework/Versions/3.9/bin/python3.9 -m pip install --upgrade pip

Downloading pip-21.2.4-py3-none-any.whl (1.6 MB)
|████████████████████████████████| 1.6 MB 12.8 MB/s 
Installing collected packages: pip
(省略)
Successfully installed pip-21.2.4

動作チェック2

方法1:一行ごとに,対話的に動かす

ターミナルから python3 を対話モードで起動(>>> が出てくるやつ)し,以下のプログラムを上から順に打ち込んでみよう.
(全部の行を選択,コピーして,ターミナルにペーストでもOK)

import matplotlib.pyplot as plt        #  初回実行のみ1-2分かかるかも.
import numpy
x = numpy.linspace(0.0, 2*3.1415, 100)   # [0,2¥pi]を100分割する実数配列
y = numpy.sin(x)                         # もちろん正弦波
plt.plot(x,y)
plt.show()

こんな図が出ましたか?
fig_sin
左下の矢印ボタンでグラフの表示される位置を動かせる.(何と,軸の値も連動して動く!)
また,フロッピーディスクボタン(古い!)を押すと,この画像を png, pdf 形式などで保存でき,TeXやWord, ppt に貼り付けが簡単.(PDFはおそらくベクトル形式で保存されるので,拡大してもきれいなまま?)

方法2:ソースコードをファイルとして作成

毎回,コマンドを1行づつ打ち込むのは面倒なので,C言語のようにソースファイルを作成して一気に実行する方法.

  1. 以下のプログラムをテキストファイル(文字コードはUTF-8,改行はLF)に保存する.
    ファイル名を test.py とする. (pythonのコードの拡張子は .py

    test.pyの中身
    
    import matplotlib.pyplot as plt        #  初回実行時のみ1-2分かかるかも.
    import numpy
    x = numpy.linspace(0.0, 2*3.1415, 100)   # [0,2¥pi]を100分割する実数配列
    y = numpy.sin(x)                         # もちろん正弦波
    z = numpy.cos(x)                         # もちろん余弦波
    plt.plot(x,y)
    plt.plot(x,z)
    plt.show()
    
  2. ターミナルにおいて,python3 コマンドに続けてソースファイル名を指定する.
    $ python3 test.py
    
    先ほどと同様,グラフが表示される.