geditでPythonの警告や例外を捕捉できるようにする
「gedit」でPythonの警告や例外を捕捉できるようにします。警告や例外を捕捉できるようにするには、捕捉を有効にするコードを挿入する必要があります。
コードの挿入は、以下の単位で行うことができます。
- Pythonのソースコード
- ユーザー固有のサイト
- システム固有(システム全体)のサイト
Pythonのソースコード
特定のPythonのソースコードに、警告や例外の捕捉を有効にするコードを挿入します。コードを挿入したPythonアプリでのみ、警告や例外を捕捉できます。
1.ソースコード
以下のソースコードを用意しました。#!/usr/bin/python3 #-*- coding:utf-8 -*- import warnings import send_tracebacks send_tracebacks.install() warnings.warn('警告') raise Exception('例外')
ポイントは以下の2行です。
import send_tracebacks send_tracebacks.install()
これで警告や例外を捕捉できるようになります。
2.スクリプトの実行
ここでは例として「端末」を起動し、「端末」から上記のPythonスクリプトを実行します。Pythonスクリプトを実行すると、警告や例外の情報が標準出力に出力されるため、上記のように警告や例外の情報が「端末」に表示されます。
3.警告や例外の捕捉
「gedit」を見ると、以下のように捕捉された警告や例外が「Python Traceback」タブに表示されています。4.ソースコードの表示
「Python Traceback」タブに表示されている警告や例外をダブルクリックすると、以下のように警告や例外が発生したソースコードが表示されます。ユーザー固有のサイト
ユーザー固有のサイトの設定ファイルに、警告や例外の捕捉を有効にするコードを挿入します。このユーザーで動作するすべてのPythonアプリで発生した警告や例外を捕捉できます。
1.ユーザー固有のサイトの設定ファイル
ユーザー固有のサイトの設定ファイルをテキストエディター開きます。ユーザー固有のサイトの設定ファイルは、「~/.local/lib/python3.4/site-packages/usercustomize.py」です。
もしこのファイルが存在しない場合は、自分でファイルを作成します。
Pythonのバージョンでフォルダーのパスが変わる
Pythonのバージョンによってフォルダーのパスが変わります。ここではUbuntu14.04及びPython3の環境で動作させています。
現状Ubuntu14.04のPython3のバージョンは「3.4」なので、上記のパスになります。
2.コードの挿入
以下のように、警告や例外の捕捉を有効にするコードを挿入します。try: import send_tracebacks except ImportError: pass else: send_tracebacks.install()
これで準備完了です。
3.ソースコード
以下のソースコードを用意しました。#!/usr/bin/python3 #-*- coding:utf-8 -*- import warnings warnings.warn('警告') raise Exception('例外')
4.スクリプトの実行
ここでは例として「端末」を起動し、「端末」から上記のPythonスクリプトを実行します。Pythonスクリプトを実行すると、警告や例外の情報が標準出力に出力されるため、上記のように警告や例外の情報が「端末」に表示されます。
5.警告や例外の捕捉
「gedit」を見ると、以下のように捕捉された警告や例外が「Python Traceback」タブに表示されています。6.ソースコードの表示
「Python Traceback」タブに表示されている警告や例外をダブルクリックすると、以下のように警告や例外が発生したソースコードが表示されます。システム固有のサイト
システム固有のサイトの設定ファイルに、警告や例外の捕捉を有効にするコードを挿入します。すべてのユーザーで警告や例外の捕捉が有効になります。
注意
すべてのユーザーで警告や例外の捕捉を有効にする必要がなければ、この方法は使用せず、上記のユーザー固有のサイトの方法を使用してください。また、他のユーザーで動作しているPythonアプリで発生した警告や例外を、捕捉することはできません。
捕捉できる警告や例外は、自分の環境で動作しているPythonアプリだけです。
1.システム固有のサイトの設定ファイル
システム固有のサイトの設定ファイルをテキストエディター開きます。システム固有のサイトの設定ファイルは、「/etc/python3.4/sitecustomize.py」です。
Pythonのバージョンでフォルダーのパスが変わる
Pythonのバージョンによってフォルダーのパスが変わります。ここではUbuntu14.04及びPython3の環境で動作させています。
現状Ubuntu14.04のPython3のバージョンは「3.4」なので、上記のパスになります。
2.コードの挿入
以下のように、警告や例外の捕捉を有効にするコードを挿入します。try: import send_tracebacks except ImportError: pass else: send_tracebacks.install()
これで準備完了です。
3.ソースコード
以下のソースコードを用意しました。#!/usr/bin/python3 #-*- coding:utf-8 -*- import warnings warnings.warn('警告') raise Exception('例外')
4.スクリプトの実行
ここでは例として「端末」を起動し、「端末」から上記のPythonスクリプトを実行します。Pythonスクリプトを実行すると、警告や例外の情報が標準出力に出力されるため、上記のように警告や例外の情報が「端末」に表示されます。