Python3の実行方法

  1. 対話モードで、ちょっとしたコードを入力の都度、実行。

  2. テキストエディタでコーディング完成済みのスクリプトファイルを実行。基本的にこっち。


コーディングと実行

プログラミングの作業は、「コーディング(コードを書く)→実行(プログラムを動かす)してみる」の繰り返し。

テキストエディタと端末での作業

プログラムの実行は端末から行うのが基本。対話モードでないならテキストエディタ(geditなど)も使う。


対話モードで実行

python3コマンドを単に打つと、コマンドプロンプトが>>> になったPythonの対話モードになる。これは短いプログラムを入力してその都度実行していく形式。ちょっとしたテスト向き。

下記はprint "Hello, world!"2**20(2の20乗)と入力実行したもの。print関数は文字を出力する。Python対話モードの終了はquit()と入力。

python3
Python 3.6.5 (default, May 27 2018, 22:03:54) 
[GCC 4.8.5 20150623 (Red Hat 4.8.5-28)] on linux
Type "help", "copyright", "credits" or "license" for more information.

>>> print("Hello, world!")
Hello, world!
>>> 2**20
1048576
>>> quit()

スクリプトファイルを実行

予めプログラム全体をファイルにコーディングしておき(スクリプトファイル)、それをpython3コマンドで実行する。ファイル名末尾(拡張子)は.pyにすることが多い。

python3 /path/to/スクリプトファイル.py

これだけで十分で、下記はpython3コマンドを省略したい場合。

スクリプトパスだけで実行

下記のように、明示的にpython3コマンドを打たず、スクリプトパスだけで実行できるようにするには、シェバンと実行権限の設定が必要。

# フルパスで実行
/path/to/スクリプトファイル.py

# カレントディレクトリにある場合の実行
./スクリプトファイル.py

シェバン

スクリプトファイル先頭行に下記のように#!という記号に続けてインタプリタ(スクリプトを解釈するプログラム、ここではPython)のフルパスを指定する。この記述をシェバンという。

#!/usr/bin/python3

Python3のフルパスはtype python3というコマンドで調べられる。OSや環境によっては上記とは別のパスになる。特にPython仮想環境virtualenvはそれぞれ異なる。そこでシェバンを下記のようにすると、様々な環境でも「そこにおけるPython3」が呼び出されて機能することが多い。

#!/usr/bin/env python3

実行権限の付与

chmodコマンドでファイルの実行権限を付ける。

chmod 775 スクリプトファイル.py

スクリプトファイルをコマンド化

Python3のスクリプトをコマンド化したい場合。シェバンと実行権限を設定したスクリプトファイルを、シェル(Bash)の環境変数PATHでリストされているディレクトリに置くと、コマンドのようにどこからでも「スクリプトファイル名」だけで実行できる。