Python 错误及解决方法
UnicodeEncodeError: ‘charmap’ codec can’t encode characters
- 此问题多发生在windows的区域和开发中用到在字符不匹配. 譬如英文区域的windows要编解码中文字符.
- 原因及解决方法参考 代码页即地狱
简单来说, 就是windows底层编码的问题. 要解决这个问题, 只能从windows系统着手.
from PyQt5 import QtCore
from PyQt5.QtGui import *
errors No module named 'PyQt5'
- python3 和 pyqt5 兼容性问题. 最新版本的 pyqt5 和 python3.6, python3.7 不兼容.
- 现象为:
import PyQt5
调用正常.from PyQt5 import QtCore
提示错误, 无法找到模块PyQt5
- 解决方法: 试了很多版本组合. 最后成功的是
Python 3.8.8
32位 和PyQt5 5.15.2
.- 先软件安装
Python 3.8.8
- 直接
pip install pyqt5-tools
自动安装的最新版本.
- 先软件安装
Python 2 下 pip install pyinstaller
无法安装, 编译失败.
- 很复杂的兼容性问题. 需要降低 pip 版本以及 pyinstaller 版本
- 首先, 降低pip版本到18.1:
pip install pip==18.1
- 然后, 指定pyinstaller版本为3.4:
pip install pyinstaller==3.4
- 检查是否安装成功.
pyinstaller -v
运行编译后的文件, 提示: Failed to execute script pyibooto1_bootstrap
进一步提示 Error: Nonetype object has no attribute write
- Python3 下 PyInstaller 自己弄出来的一个错误. 当使能了调试
-d all
, 而又指定-w
不需要调试终端时, 自动生成的.spec
文件依旧要求输出sys.stderr. 由于没有终端, 因而提示没法write - 参考资料 Program fails at
pyiboot01_bootstrap
when using--noconsole
- 解决方法: 用
-d all
时, 不能用-w
.
原创于 DRA&PHO