Nic*_*ick 3 python cx-oracle pyinstaller
我有一个简单的python脚本,可以导入cx_Oracle,然后进行sql查询。从python运行时一切正常。我的计算机上安装了Oracle SQL Developer,它是免费的。
然后,当我使用“ pyinstaller main.py”编译程序时,一切都可以正常编译,并且我也可以启动问题。但是,一旦从该程序进行SQL查询,就会发生以下运行时错误:
cx_Oracle.InterfaceError:无法获取Oracle环境句柄
我尝试了以下方法:
这些都不起作用。
任何其他我能做的建议,我们将不胜感激。
我找到了解决方案:
正常运行pyinstaller时,编译中将缺少一个文件。需要手动添加:
为此,您需要使用以下命令编辑该行:
binaries+[('oraociei12.dll','oraociei12.dll','BINARY')],
Run Code Online (Sandbox Code Playgroud)
确保oraociei12.dll在当前文件夹中。
block_cipher = None
a = Analysis(['LDM-shark.py'],
pathex=['C:\\Users\\dicknic\\AppData\\Local\\Home\\dev\\LDM'],
binaries=None,
datas=None,
hiddenimports=[],
hookspath=[],
runtime_hooks=[],
excludes=[],
win_no_prefer_redirects=False,
win_private_assemblies=False,
cipher=block_cipher)
pyz = PYZ(a.pure, a.zipped_data,
cipher=block_cipher)
exe = EXE(pyz,
a.scripts,
a.binaries+[('oraociei12.dll','oraociei12.dll','BINARY')],
a.zipfiles,
a.datas,
name='mainprogram',
debug=False,
strip=False,
upx=True,
console=True )
Run Code Online (Sandbox Code Playgroud)
在第二步中,再次运行pyinstaller,但使用spec文件。pyinstaller mainprogram.spec
它会工作
| 归档时间: |
|
| 查看次数: |
2197 次 |
| 最近记录: |