Учитывая следующий питон программаpy2exe и cx_Oracle Не удалось загрузить cx_Oracle.pyd
testconnect.py
from sqlalchemy.dialects import oracle
from sqlalchemy import create_engine
url = 'oracle+cx_oracle://user:[email protected]:1521/orcl'
e = create_engine(url)
e.connect()
print('Connected')
setup.py
setup(
options={
'py2exe': {
'bundle_files': 1,
'compressed': True,
'dll_excludes': ['OCI.dll'],
'includes':['cx_Oracle']
}
},
console=["testconnect.py"],
zipfile=None
)
Я получаю следующее TraceBack
Traceback (most recent call last):
File "testconnect.py", line 7, in <module>
e = create_engine(url)
File "c:\Python34\lib\site-packages\sqlalchemy\engine\__init__.py", line 386, in create_engine
return strategy.create(*args, **kwargs)
File "c:\Python34\lib\site-packages\sqlalchemy\engine\strategies.py", line 75, in create
dbapi = dialect_cls.dbapi(**dbapi_args)
File "c:\Python34\lib\site-packages\sqlalchemy\dialects\oracle\cx_oracle.py", line 769, in dbapi
import cx_Oracle
File "c:\Python34\lib\site-packages\zipextimporter.py", line 109, in load_module
self.get_data)
ImportError: MemoryLoadLibrary failed loading cx_Oracle.pyd: The specified module could not be found. (126)
У меня есть три d используя 'includes' в setup.py, импортируя cx_Oracle, но безрезультатно.
Я пытается bundle_files = 3 и используя «data_files =», чтобы скопировать файл cx_Oracle.pyd в DIST каталог и я все еще получаю ту же самую проблему
Какие изменения в моей setup.py мне нужно делать, чтобы быть в состоянии захватить файл cx_Oracle.pyd так, что она будет загружать
Update:
проблема была я использую CMD консоль, которая была открыта перед установкой cx_Oracle и мгновенную клиенты построить ех с py2exe
I clo СЕПГ консоль вниз заново открыли и окно было в состоянии найти соответствующие файлы
Это теперь работает нормально на моем Windows 10 ноутбука (64 бит)
Но когда я пытаюсь развернуть этот EXE своих клиентов машины (64-битные окна 2008) я получаю все еще
D:\Milliman>testconnect.exe
Traceback (most recent call last):
File "testconnect.py", line 1, in <module>
File "c:\Python34\lib\site-packages\zipextimporter.py", line 109, in load_module
ImportError: MemoryLoadLibrary failed loading cx_Oracle.pyd: The specified module could not be found. (126)
Спасибо за любую помощь заранее Энди