社区所有版块导航
Python
python开源   Django   Python   DjangoApp   pycharm  
DATA
docker   Elasticsearch  
aigc
aigc   chatgpt  
WEB开发
linux   MongoDB   Redis   DATABASE   NGINX   其他Web框架   web工具   zookeeper   tornado   NoSql   Bootstrap   js   peewee   Git   bottle   IE   MQ   Jquery  
机器学习
机器学习算法  
Python88.com
反馈   公告   社区推广  
产品
短视频  
印度
印度  
Py学习  »  Python

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

joao paulo • 5 年前 • 1935 次点击  

我的剧本名为 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
文章 [ 8 ]  |  最新文章 5 年前
Benjamin
Reply   •   1 楼
Benjamin    7 年前

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

正如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    9 年前

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

davidleosam
Reply   •   3 楼
davidleosam    8 年前

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

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

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

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

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

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

FutureJJ
Reply   •   5 楼
FutureJJ    6 年前

您已经安装了 连载

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

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

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

sql
Reply   •   7 楼
sql    13 年前

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

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

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

from serial import Serial

serial 模块正确: pip install pyserial .