Compte tenu du programme python suivantpy2exe et cx_Oracle Échec du chargement cx_Oracle.pyd
de 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')
de setup.py
setup(
options={
'py2exe': {
'bundle_files': 1,
'compressed': True,
'dll_excludes': ['OCI.dll'],
'includes':['cx_Oracle']
}
},
console=["testconnect.py"],
zipfile=None
)
Je reçois le retraçage suivant
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)
J'ai trie d en utilisant 'includes' dans le setup.py, en important cx_Oracle mais en vain.
J'ai essaie bundle_files = 3 et en utilisant « data_files = » pour copier le fichier cx_Oracle.pyd dans le répertoire dist et je reçois toujours la même question
Quels changements à mon setup.py dois-je faire pour être en mesure de capture le fichier cx_Oracle.pyd afin qu'il chargera
Mise à jour:
le problème est que j'utilisait une console de cmd qui était ouvert avant l'installation et cx_Oracle client instantanée pour construire l'exe avec py2exe
Je clo sed la console vers le bas et les fenêtres a rouvert ses portes a pu trouver les fichiers appropriés
Cela va maintenant OK sur mon ordinateur portable de Windows 10 (64 bits)
Mais lorsque je tente de déployer ce EXE à mes clients la machine (64 bit windows 2008) Je reçois le texte suivant encore
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)
Merci pour toute aide à l'avance Andy