Ако искате да изградите множество версии на cx_Oracle (напр.:cx_Oracle10g, cx_Oracle11g и т.н.), тогава ще трябва да промените скрипта cx_Oracle setup.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
модули.