Se você quiser construir várias versões do cx_Oracle (por exemplo:cx_Oracle10g, cx_Oracle11g, etc.), você precisará modificar o script setup.py do cx_Oracle. A última etapa do script é uma chamada para
setup()
; o primeiro parâmetro é o nome do módulo a ser construído. Tudo o que você precisa fazer é alterar "cx_Oracle"
para "cx_Oracle" + ver
, onde ver é 10g
, 11g
, etc. Crie vários scripts e codifique-os ou adicione outro parâmetro a setup.py
para selecioná-lo dinamicamente. Claro, uma vez que você tenha isso, você precisa de um mecanismo para carregar o módulo correto em tempo de execução. Para fazer isso, você deve criar seu próprio
cx_Oracle
módulo que tem um __init__.py
arquivo que se parece com isso:try:
from cx_Oracle9g import *
except ImportError:
try:
from cx_Oracle10g import *
except ImportError:
try:
from cx_Oracle11g import *
Tudo o que você precisa fazer é enviar seu
cx_Oracle
personalizado módulo mais o cx_OracleXg
correto módulo com sua aplicação. Como alternativa, você pode ter seu
cx_Oracle
personalizado módulo verifica dinamicamente para cada biblioteca de cliente Oracle disponível (9g, 10g, 11g, etc) e depois importa apenas o cx_OracleXg
correspondente correto módulo. Nesse caso, você só precisa enviar um único binário, contendo seu cx_Oracle
personalizado módulo mais todos os cx_OracleXg
módulos.