当前位置:   article > 正文

Python使用pyinstaller打包生成exe文件,提示no such file错误的解决方式_pyinstaller no such file

pyinstaller no such file

近日使用pyinstaller打包GUI程序,由于程序中使用了一些图片之类的文件,源代码直接运行没有任何问题,可是一旦打包成exe,运行总是提示No such file类的错误。

网上参考很多文章总是不行,exe提示找不到文件无非就是打包没打进去或者文件路径不对。

后经过反复试验,终于成功,以下两点颇为重要,尤其是代码中文件路径的代码设置方法,

1.首先pyinstaller -F -w -i test.ico test.py,目的是自动生成test.spec文件供后续修改

2.编辑test.spec文件,添加added_files 并修改datas属性,参考如下:

  1. added_files = [
  2. ( 'D:/Projects/Python/test/test.png', '.' ),
  3. ( 'D:/Projects/Python/test/test.ico', '.' ),
  4. ( 'D:/Projects/Python/test/test/data', 'test_data' )
  5. ]
  6. a = Analysis(['test10.py'],
  7. pathex=[],
  8. binaries=[],
  9. datas=added_files,
  10.         # ***  added_files 是要打包的文件列表
  11.         # ***  注意修改datas=added_files,

3.代码中使用到资源文件的地方,不能使用相对路径

  1. #错误写法,虽然运行py文件不报错,一旦打包就会找不到该文件
  2. self.window.iconbitmap('test.ico')
  3. #正确写法
  4. self.file_path = os.path.abspath(os.path.dirname(__file__))
  5. imgPath = os.path.join(self.file_path,'test.ico')
  6. self.window.iconbitmap(imgPath)

4.pyinstaller -F test.spec,恭喜你exe可以正常运行了

声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/从前慢现在也慢/article/detail/590978
推荐阅读
相关标签
  

闽ICP备14008679号