python3.7打包exe后有显示no utf-8_pyinstaller打包py文件时出现错误SyntaxError: Non-UTF-8 code starting with '\xb3'...

安装pyinstaller之后用的时候出现了这个问题

File "C:\Users\陈风\AppData\Local\Programs\Python\Python37-32\Scripts\pyinstaller-script.py", line 1

SyntaxError: Non-UTF-8 code starting with '\xb3' in file C:\Users\陈风\AppData\Local\Programs\Python\Python37-32\Scripts\pyinstaller-script.py on line 1, but no encoding declared; see http://python.org/dev/peps/pep-0263/ for details

于是打开对应的.py文件发现是这样子的。

#!c:\users\³Â·ç\appdata\local\programs\python\python37-32\python.exe

# EASY-INSTALL-ENTRY-SCRIPT: 'PyInstaller==3.4','console_scripts','pyinstaller'

__requires__ = 'PyInstaller==3.4'

import re

import sys

from pkg_resources import load_entry_point

if __name__ == '__main__':

sys.argv[0] = re.sub(r'(-script\.pyw?|\.exe)?$', '', sys.argv[0])

sys.exit(

load_entry_point('PyInstaller==3.4', 'console_scripts', 'pyinstaller')()

)

可以注意到第一行出现了乱码,我这里对应位置是中文 陈风

将中文乱码改成对应中文,并在utf-8下编码,发现还是不行

fail to created process

在首行加上# -*- coding:utf-8 -*-

这时候打包就成功了。

问题解决。

欢迎访问陈风的个人博客

  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
这个错误通常是由于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、付费专栏及课程。

余额充值