pyinstaller打包错误

环境:Windows10
打包报错:
pyqt5没有属性__version__
解决:

  1. 网上搜索得知方法更新seetuptools:pip install --upgrade setuptools
    更新成功,但有错误:spyder 4.2.5 requires pyqt5<5.13, which is not installed.
    打包仍然报:pyqt5没有属性__version__
  2. 通过pip list知道anaconda下没有pyqt5
    安装pyqt5:pip install pyqt5==5.12.1
  3. 打包成功运行闪退
    原因:没有将资源放在exe所在文件夹,程序运行需要下载文件到download,手动创建或在程序中更改代码判断文件夹存在
  4. 总结原因:pycharm下有 pyqt5,而打包环境下没有pyqt5,
    运行所需资源没有放在exe所在文件夹下
这个错误通常是由于pyinstaller打包时没有正确处理文件编码格式所致。解决方法如下: 1.在.spec文件中添加以下代码: ```python import os os.environ['TCL_LIBRARY'] = r'C:\Users\username\AppData\Local\Programs\Python\Python36\tcl\tcl8.6' os.environ['TK_LIBRARY'] = r'C:\Users\username\AppData\Local\Programs\Python\Python36\tcl\tk8.6' ``` 其中,将`username`替换为你的用户名,将Python路径替换为你的Python安装路径。 2.在.spec文件中添加以下代码: ```python a = Analysis(['your_script.py'], pathex=['path/to/your/script'], binaries=[], datas=[], hiddenimports=['your_module'], hookspath=[], runtime_hooks=[], excludes=[], win_no_prefer_redirects=False, win_private_assemblies=False, cipher=None, noarchive=False) a.datas += [('path/to/your/file', 'path/in/archive/file', 'DATA')] ``` 其中,将`your_script.py`替换为你的Python脚本文件名,将`path/to/your/script`替换为你的Python脚本文件所在路径,将`your_module`替换为你的Python脚本中导入的模块名,将`path/to/your/file`替换为你的文件路径,将`path/in/archive/file`替换为你在打包后的可执行文件中想要存放该文件的路径。 3.在.spec文件中添加以下代码: ```python import codecs block_cipher = None a = Analysis(['your_script.py'], pathex=['path/to/your/script'], binaries=[], datas=[], hiddenimports=['your_module'], hookspath=[], runtime_hooks=[], excludes=[], win_no_prefer_redirects=False, win_private_assemblies=False, cipher=block_cipher, noarchive=False) pyz = PYZ(a.pure, a.zipped_data, cipher=block_cipher) exe = EXE(pyz, a.scripts, a.binaries, a.zipfiles, a.datas, [], name='your_executable_file_name', debug=False, bootloader_ignore_signals=False, strip=False, upx=True, upx_exclude=[], upx_include=[], console=True ) ``` 其中,将`your_script.py`替换为你的Python脚本文件名,将`path/to/your/script`替换为你的Python脚本文件所在路径,将`your_module`替换为你的Python脚本中导入的模块名,将`your_executable_file_name`替换为你想要生成的可执行文件名。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值