Pythonの実行方法

プログラミングの作業は、「コーディング(コードを書く)→実行(プログラムを動かす)してみる」の繰り返し。テキストエディタと端末を使う。

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

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


コーディングと実行

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

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

プログラムの実行は端末から行うのが基本。対話モードでないならテキストエディタも使う。CentOS7やUbuntu16.04には、geditというテキストエディタとGNOME端末が入っている。


対話モードで実行

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

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

python3
Python 3.4.3 (default, Jan 26 2016, 02:25:35) 
[GCC 4.8.5 20150623 (Red Hat 4.8.5-4)] 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

シェバン

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

#!/usr/bin/python3

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

#!/usr/bin/env python3

実行権限の付与

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

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

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

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