我正在使用--onefile选项使用PyInstaller将.py脚本编译为单个.exe。我无法在文件中包含.png文件。
我已包含以下代码以在.py脚本中定位图像:
def resource_path(self, relative_path):
if hasattr(sys, '_MEIPASS'):
return os.path.join(sys._MEIPASS, relative_path)
return os.path.join(os.path.abspath("."), relative_path)
self.image(self.resource_path('Logo.png'), 10, 10, 50)
最后一行是设置带有图像的标题;当使用绝对路径时,此代码可以正常工作:
self.image('C:/Users/Kieran/Desktop/SCIDTest/Logo.png', 10, 10, 50)
然后我在.spec文件中包含图像:
datas=[('C:\\Users\\Kieran\\Desktop\\SCIDTest\\Logo.png', 'data')]
运行.exe,出现此错误:
[Errno 2] No such file or directory: 'C:\\Users\\Kieran\\AppData\\Local\\Temp\\_MEI33002\\Logo.png'