一:win10,python2 终端pip install 时报错:
UnicodeDecodeError: 'ascii' codec can't decode byte 0xd0 in position 7: ordinal not in range(128)
解决方法:在Python27\Lib 下 新建sitecustomize.py 文件,键入内容
import sys
sys.setdefaultencoding('gb2312')
二:windows10,打包python程序成exe
使用pyinstaller (程序中使用了pyqt5,lxml)
方案一:python2安装提示没有此包,需要进行pip install python-qt5
最终执行程序时,提示不是可用的win32程序,未解决。
方案二:python3(这里用了python3.6+安装pyinstaller时报错)建议使用低版本的python3(3.5以下的版本安装pyqt5依赖时,需要安装VC++ 10.0以上
https://support.microsoft.com/zh-cn/help/2977003/the-latest-supported-visual-c-downloads
);由于使用了lxml,所以需要使用python3.5+。这里使用的python3.5.4,安装其他包完美解决~
注:当用pyinstaller时,可能会报错(Non-UTF-8 code starting with...),这是因为你的用户名为中文,所以用户名最好设置为英文。可用记事本修改Python35\Scripts\pyinstaller-script.py文件,最前面加上# -- coding:utf-8 --即可。
发现重大bug,现网上很多答案并不能解决此问题。
错误:Cannot find existing PyQt5 plugin directories
解决:pyinstaller 你的文件 --exclude-module PyQt5
其余参数:-w 不显示命令行窗口
-i 为main.exe指定图标(必须为.ico结尾)
-F 生成one-file的程序
三:python程序插入数据库报错
当出现编码格式不正确或者类似表情类的字符会报错。需要进行以下操作:
1、修改连接时使用的编码格式
connect(... charset='utf8mb4')
2、修改库表字段(按情况而定)
alter database 库名 default character set 字符集;
alter table 表名 convert to character set 字符集;
alter table 表名 modify 字段名 字段属性 character set 字符集;
网友评论