首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >在Windows 7下运行pyserial时缺少属性

在Windows 7下运行pyserial时缺少属性
EN

Stack Overflow用户
提问于 2018-01-23 20:34:28
回答 1查看 154关注 0票数 0

我正在尝试在Windows7上运行MinimalModbus (它在引擎盖下使用pyserial ),我已经将我的问题简化为:以下是foo.py的全部内容:

代码语言:javascript
复制
#!/usr/bin/env python
import sys
import serial
print(sys.version)
print(serial.PARITY_NONE)

当我运行foo.py时,python找不到一些pyserial属性:

代码语言:javascript
复制
E:\>py -3.6 foo.py
3.6.4 (v3.6.4:d48eceb, Dec 19 2017, 06:04:45) [MSC v.1900 32 bit (Intel)]
Traceback (most recent call last):
  File "foo.py", line 5, in <module>
    print(serial.PARITY_NONE)
AttributeError: module 'serial' has no attribute 'PARITY_NONE'

当我在OS X (High Sierra,10.13.2)上运行相同的脚本时,我得到了正确的输出('N')。

下面是我的Windows环境中pip freezever的输出:

代码语言:javascript
复制
E:\>py -3.6 -m pip freeze
future==0.16.0
iso8601==0.1.12
MinimalModbus==0.7
pyftdi==0.28.2
pyserial==3.4
pyusb==1.0.2
PyYAML==3.12
serial==0.0.27
UniCurses==1.2

E:\>ver
Microsoft Windows [Version 6.1.7601]

有什么建议吗?

更新

似乎我得到了错误的串行模块:

代码语言:javascript
复制
    E:\>py -3.6
Python 3.6.4 (v3.6.4:d48eceb, Dec 19 2017, 06:04:45) [MSC v.1900 32 bit (Intel)]
 on win32
Type "help", "copyright", "credits" or "license" for more information.
>>> import serial
>>> help(serial)
Help on package serial:

NAME
    serial

DESCRIPTION
    ``serial`` is an object serialization/deserialization library intended to fa
cilitate authoring of API models which are
    readable and introspective, and to expedite code and data validation and tes
ting. ``serial`` supports JSON, YAML, and
    XML.

..。这根本不是我喜欢的pyserial模块。我遗漏了什么?

EN

回答 1

Stack Overflow用户

发布于 2018-01-23 20:54:27

这是一种令人沮丧的解决方案。

我注意到了pip freeze输出中有问题的serial模块

代码语言:javascript
复制
E:\>py -3.6 -m pip freeze
future==0.16.0
iso8601==0.1.12
MinimalModbus==0.7
pyftdi==0.28.2
pyserial==3.4
pyusb==1.0.2
PyYAML==3.12
serial==0.0.27    <<< this one
UniCurses==1.2

我把它删除了:

代码语言:javascript
复制
py -3.6 -m pip uninstall serial

..。但这并没有解决问题。但是,随后卸载并重新安装pyserial完成了此操作:

代码语言:javascript
复制
>>> py -3.6 -m pip uninstall pyserial
>>> py -3.6 -m pip install pyserial
>>> py -3.6 foo.py
3.6.4 (v3.6.4:d48eceb, Dec 19 2017, 06:04:45) [MSC v.1900 32 bit (Intel)]
N

现在好多了!

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/48401900

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档