使用python对basler 相机开发并做好UI后用pyinstaller 打包,生成XX.exe双击一闪而过,cmd XX.exe 后 报错如下:
“ File “main.py”, line 25, in setup_cameras AttributeError: ‘int’ object has no attribute ‘Open’”,打开main.py line25, 此处调用pypylon 库使用了camera.Open()方法。
解决方案参考Github, 修改.spec文件,增加如下内容:
import pypylon
import pathlib
pypylon_dir = pathlib.Path(pypylon.__file__).parent
pylon_dlls = [(str(dll), '.') for dll in pypylon_dir.glob('*.dll')]
把binaries=[]改为binaries=pylon_dlls然后cmd -> pyinstaller XX.spec即可。
原因:PyInstaller不知道Pypylon的run-time库在哪里,需要我们手动include,pylon_dlls指定了.dll地址和文件名。
Q562604218欢迎沟通交流。