複数のcx_Oracleバージョン(例:cx_Oracle10g、cx_Oracle11gなど)をビルドする場合は、cx_Oraclesetup.pyスクリプトを変更する必要があります。スクリプトの最後のステップは、setup()の呼び出しです。;最初のパラメーターは、ビルドするモジュールの名前です。 "cx_Oracle"を変更するだけです。 "cx_Oracle" + verへ 、ここでverは10g 、11g 、など。いくつかのスクリプトを作成してハードコーディングするか、setup.pyに別のパラメータを追加します。 動的に選択します。
もちろん、それを取得したら、実行時に正しいモジュールをロードするメカニズムが必要です。そのためには、独自のcx_Oracleを作成する必要があります。 __init__.pyを持つモジュール 次のようなファイル:
try:
from cx_Oracle9g import *
except ImportError:
try:
from cx_Oracle10g import *
except ImportError:
try:
from cx_Oracle11g import *
あなたがする必要があるのはあなたのカスタムcx_Oracleを出荷することだけです モジュールと正しいcx_OracleXg アプリケーションのモジュール。
または、カスタムのcx_Oracleを使用することもできます。 モジュールは、使用可能な各Oracleクライアントライブラリ(9g、10g、11gなど)を動的にチェックしてから、一致する正しいcx_OracleXgのみをインポートします。 モジュール。この場合、カスタムのcx_Oracleを含む単一のバイナリを出荷するだけで済みます。 モジュールとすべてのcx_OracleXg モジュール。