14章実行のカスタマイズ
Pythonでは、内部のメカニズムの多くが公開され、サポートされ、文書化されており、Pythonを詳細に理解するのに役立つ可能性がある。また、そうしたPythonのメカニズムに独自のコードを接続し、ある程度制御するのにも役立つ。たとえば7.1.1.3項では、Pythonがどのようにして組み込みオブジェクトを可視化するのかについて説明した。Pythonには、サイトのカスタマイズ、終了関数、動的実行、内部型の処理、ガベージコレクションなど、高度なテクニックが他にもある。本章では、そうした高度なテクニックを紹介する。複数のスレッドやプロセスを使った実行制御に関連する他の問題については、15章で詳しく見ていく。テスト、デバッグ、プロファイリングに特有の問題については、17章で取り上げる。
14.1 サイトごとのカスタマイズ
Pythonでは、各実行を開始するときにPythonの振る舞いの一部をサイトごとにカスタマイズできる特別な「フック」を提供している。Pythonはメインスクリプトの直前に標準モジュールsite
をロードする。-S
オプションを使ってPythonを実行する場合、このモジュールはロードされない。このオプションを使うと起動が高速になるが、初期化をメインスクリプトで行わなければならないという代償が伴う。site
の目的は、何よりもまず、環境変数や仮想環境によって指定される内容や、sys.path
のディレクトリに含まれている各.pth
ファイルの内容に基づいて、sys.path
を標準形式にすることにある(重複のない絶対パスにする)。
次に、開始しているセッションが対話形式である場合、site
は便利な組み込み機能(exit
、copyright
など)をいくつか追加する。 ...
Get Pythonクイックリファレンス 第4版 now with the O’Reilly learning platform.
O’Reilly members experience books, live events, courses curated by job role, and more from O’Reilly and nearly 200 top publishers.