3

この質問は、拡張モジュール (つまり、C で書かれたもの) 内から、拡張モジュールの実行に使用されている Python インタープリターのバージョンを検出する方法に関するものです。

背景として、Python 拡張モジュール内では、拡張がコンパイルされた Python のバージョンを取得するのは簡単です。標準の Python ヘッダーをインクルードするときにインクルードされる で定義されpatchlevel.hたマクロの 1 つを使用できますPython.h(例: マクロPY_VERSION)。

私の質問は、拡張モジュール内から、現在拡張機能を実行するために使用されているインタープリターのバージョンを実行時に取得できるかどうかです。たとえば、Python 2.7 に対してコンパイルされた拡張モジュールを実行するために Python 2.5 が誤って使用されている場合、拡張モジュール内から実行時にそれを検出できるようにしたいと考えています。具体的に言うと、拡張モジュールが Python 2.7 に対してコンパイルされていると仮定しましょう。

4

2 に答える 2