cx_Oracleを使用してOracleデータベースに接続する小さなPythonアプリがいくつかあります。これらのアプリは、多くの場合正常に機能するpy2exeを使用してコンパイルすることでデプロイします。
問題は、これをインストールする必要のある多くの人々に標準のOracle Clientバージョン(たとえば、9iおよび10g)がないことであり、すべての人に単一のOracleClientバージョンで標準化させようとするのは非常に苛立たしいことです。現在、9i用のcx_Oracle 4.4.1で9.2クライアントを使用しているため、py2exeを実行すると、結果のexeにはcx_Oracle 4.4.1ライブラリが含まれ、10gクライアントでは機能しません。
Oracleのどのバージョンの特定の機能も使用していないため、cx_Oracleの互換性の問題を除いて、使用されているクライアントのバージョンを気にする必要はありません。
理想的な解決策は、マシンにインストールされているOracleClientから完全に独立したバージョンを何らかの方法でコンパイルすることです。
それが不可能な場合は、Oracleのメジャーバージョン(my_app_9i.exe、my_app_10g.exeなど)ごとに個別のexeをコンパイルしますが、新しいcx_Oracleをインストールすると、古いバージョンでは、変更を加えるたびに他のバージョンをコンパイルするためにライブラリを前後に交換し続ける必要がありました。
アドバイスやその他のオプションは大歓迎です。