python - 如何解决 AttributeError:模块 'serial' 在 pyserial 中没有属性 'Serial'?
问题描述
我有一个带有 Python 3.7.4 的 Windows 10,我使用 Jupyter Notebook。我正在尝试使用 pySerial 通过 Serial 属性连接到我的 Arduino。我尝试简单地通过 pip install pyserial 安装 pySerial ,最终我也尝试了 conda install -c conda-forge pyserial ,但是当我尝试运行我的代码时:
import serial
ser = serial.Serial('COM4', 9600)
我收到一条错误消息,例如:
AttributeError Traceback (most recent call last)
<ipython-input-7-413d0d9dabe7> in <module>
2 import serial
3 import time
----> 4 ser = serial.Serial('COM4', 9600)
5
6 # Your Account Sid and Auth Token from twilio.com/console
AttributeError: module 'serial' has no attribute 'Serial'
另外,我试过
import serial
serial.__file__
我得到了 'C:\Users\lippe\Anaconda3\lib\site-packages\serial\__init__.py' 作为输出。
我也试过 dir(serial) 并且在输出中看不到 Serial 属性,所以我认为它基本上没有安装,我不知道为什么。我尝试挖掘互联网,但我仍然找不到解决方案。
解决方案
确保您正在导入正确的序列号。使用 pip 安装 pyserial 后,您可以使用该__file__
属性来检查它是否是我所期望的:
>>> import serial
>>> serial.__file__
'/usr/local/lib/python3.7/site-packages/serial/__init__.py'
其他答案表明直接导入类可能有效
from serial import Serial
但是我不确定如果您要导入在 pypi 上发布的最新版本,为什么这会很重要。
推荐阅读
- c++ - 为什么不管大小写程序都不是输出真值?
- sql - 在日期范围之间按日期名称查找员工班次
- android - 在导航工具栏下方切换 Google Admob 横幅
- html - CSS 位置未按预期工作。如何解决?
- javascript - 如何根据 'DD-MM-YYYY HH:mm:ss' 格式的日期时间以降序对数组进行排序?
- php - 如何获取所有记录并按 create_at 分组(仅限日期)
- error-handling - Rust Arc/Mutex 尝试宏借用内容
- python - 从熊猫数据框中的列中提取字符串中的数字
- visual-studio - Visual 2017 表单设计器因“找不到类错误”而失败 - 但是,该类存在
- swift - 将图像从集合快速传递到视图控制器