Py学习  »  Python

如何用Azure平台修复Arduino和Python与Windows 10的串行通信

joao paulo • 4 年前 • 922 次点击  

我的剧本名为 serial.py 尝试导入pySerial:

import serial
ser = serial.Serial('/dev/ttyAMA0', 9600)
ser.write("hello world!")

由于某种原因,它拒绝建立与此错误的串行连接:

AttributeError: 'module' object has no attribute 'Serial'

奇怪的是,它在几个小时前就开始工作了。

提前谢谢!

Python社区是高质量的Python/Django开发社区
本文地址:http://www.python88.com/topic/54904
 
922 次点击  
文章 [ 8 ]  |  最新文章 4 年前
Benjamin
Reply   •   1 楼
Benjamin    5 年前

是的,这个话题有点老了,但是我想和大家分享一个对我有用的解决方案

正如Ali所说,尝试使用以下终端定位程序:

 sudo python3
 import serial

print(serial.__file__) -->复制

CTRL+D #(to get out of python)

sudo python3 -->粘贴 /__init__.py

__init__.py 会对你的程序说“好的,我要用python3的Serial”。我的问题是python3程序使用的是来自python 2.7的Serial

资料来源: https://raspberrypi.stackexchange.com/questions/74742/python-serial-serial-module-not-found-error/85930#85930

战车

Chad Zawistowski
Reply   •   2 楼
Chad Zawistowski    7 年前

如果具有循环依赖项,也可能发生此错误。检查导入并确保没有任何周期。

davidleosam
Reply   •   3 楼
davidleosam    7 年前

这个问题是因为你的proyect被命名为serial.py,而导入的库也被命名为serial,更改名称就行了。

Community Hans Passant
Reply   •   4 楼
Community Hans Passant    6 年前

如果你像我一样无助,试试这个:

用下面描述的方法列出“串行”的所有子模块(或有问题的任何包): List all the modules that are part of a python package

就我而言,问题一个接一个地解决了。

…在我看来像只虫子。。。

FutureJJ
Reply   •   5 楼
FutureJJ    5 年前

您已经安装了 连载

  • 跑步 pip uninstall serial pip3 uninstall serial 对于python 3.x
  • 然后安装 如果尚未由安装 跑步 pip install pyserial 对于python 2.x或 pip3 install pyserial
Kevin
Reply   •   6 楼
Kevin    6 年前

我不小心安装了“serial”( sudo python -m pip install serial )而不是“pySerial”( sudo python -m pip install pyserial

如果前面提到的解决方案不适用于您,请仔细检查是否安装了正确的库。

sql
Reply   •   7 楼
sql    11 年前

在大多数情况下:如果存在,则重命名项目文件“St.Py”和删除Serial.Pyc,然后可以在没有属性错误的情况下执行简单的“导入序列”。

Andrea Corbellini VGO
Reply   •   8 楼
Andrea Corbellini VGO    5 年前

您正在导入模块,而不是类。所以,你必须写:

from serial import Serial

serial 模块正确: pip install pyserial .