Hvis du vil bygge flere cx_Oracle-versioner (f.eks.:cx_Oracle10g, cx_Oracle11g osv.), så skal du ændre cx_Oracle setup.py-scriptet. Det sidste trin i scriptet er et kald til setup()
; den første parameter er navnet på det modul, der skal bygges. Alt du skal gøre er at ændre "cx_Oracle"
til "cx_Oracle" + ver
, hvor ver er 10g
, 11g
, osv. Opret enten flere scripts og hårdkod det, eller tilføj en anden parameter til setup.py
for at vælge det dynamisk.
Selvfølgelig, når du har fået det, har du brug for en mekanisme til at indlæse det korrekte modul under kørsel. For at gøre det skal du oprette din egen cx_Oracle
modul, der har en __init__.py
fil, der ser sådan ud:
try:
from cx_Oracle9g import *
except ImportError:
try:
from cx_Oracle10g import *
except ImportError:
try:
from cx_Oracle11g import *
Alt du skal gøre er at sende din brugerdefinerede cx_Oracle
modul plus den korrekte cx_OracleXg
modul med din ansøgning.
Alternativt kunne du have din tilpassede cx_Oracle
modul tjek dynamisk for hvert tilgængeligt Oracle-klientbibliotek (9g, 10g, 11g osv.) og importer derefter kun den korrekte matchende cx_OracleXg
modul. I dette tilfælde skal du kun sende en enkelt binær, der indeholder din tilpassede cx_Oracle
modul plus alle cx_OracleXg
moduler.