Windows 7下运行pyserial缺失属性问题求助
解决Python导入错误
serial模块的问题 问题根源
你碰到的核心问题是依赖库重名冲突:你的Windows Python环境里同时装了两个名字都带serial的模块——一个是你实际需要的pyserial(串口通信库,提供PARITY_NONE这类串口配置常量),另一个是无关的serial库(版本0.0.27,用于序列化/反序列化数据)。Python导入时会优先找到这个干扰库,导致找不到pyserial里的属性,才会抛出AttributeError。
解决步骤
卸载干扰的
serial库
打开命令提示符,运行以下命令彻底移除这个冲突库:py -3.6 -m pip uninstall serial执行时如果弹出确认提示,输入
y回车即可完成卸载。验证修复效果
重新运行你的测试脚本foo.py,正常情况下应该输出:3.6.4 (v3.6.4:d48eceb, Dec 19 2017, 06:04:45) [MSC v.1900 32 bit (Intel)] N额外的避坑建议
- 安装依赖时,务必明确指定安装
pyserial,不要误输成serial:py -3.6 -m pip install pyserial - 推荐使用Python内置的
venv虚拟环境来隔离不同项目的依赖,从根源避免类似的库名冲突问题。
- 安装依赖时,务必明确指定安装
补充说明
从你的pip freeze输出能看到,pyserial==3.4其实已经正确安装了,只是被那个多余的serial==0.0.27抢了导入优先级。而OS X上能正常运行,是因为你的Mac环境里没装这个干扰的serial库,Python直接导入了正确的pyserial模块。
内容的提问来源于stack exchange,提问作者fearless_fool
相关产品推荐
相关产品推荐

