【问题标题】:Serial import python串行导入python
【发布时间】:2013-11-12 18:12:16
【问题描述】:

我正在尝试使用 pyserial。当我执行以下脚本时。

import serial
ser= serial.serial("COM5", 9600)
ser.write("Hello worldn")
x = ser.readline()
print(x)     

错误代码:

c:\Python27>python com.py
Traceback (most recent call last):
  File "com.py", line 2, in <module>
    ser= serial.serial("COM5", 9600)
AttributeError: 'module' object has no attribute 'serial'

我阅读了一条建议并将其更改为:

from serial import serial
ser= serial.serial("COM5", 9600)
ser.write("Hello worldn
x = ser.readline()
print(x)     

我现在得到错误

c:\Python27>python com.py
Traceback (most recent call last):
  File "com.py", line 1, in <module>
    from serial import serial
ImportError: cannot import name serial

我读到这可能是因为您的模块中有 ini,但对此一无所知。

我打印了我的 sys.path 并且 pyserial 在那里。

['C:\\Users\\Jeff\\Desktop', 'C:\\Python27\\lib\\site-packages\\distribute-0.6.4
9-py2.7.egg', 'C:\\Python27\\lib\\site-packages\\pyserial-2.7-py2.7.egg', 'C:\\W
indows\\SYSTEM32\\python27.zip', 'C:\\Python27\\DLLs', 'C:\\Python27\\lib', 'C:\
\Python27\\lib\\plat-win', 'C:\\Python27\\lib\\lib-tk', 'C:\\Python27', 'C:\\Pyt
hon27\\lib\\site-packages', 'C:\\Python27\\lib\\site-packages\\setuptools-0.6c11
-py2.7.egg-info']

有点恼火:(...谢谢你的帮助。

【问题讨论】:

  • 您的确切堆栈跟踪是什么?
  • 您得到的错误意味着您的解释器无法找到串行模块。你安装了吗?你确定你有适当的权限来使用它吗?
  • 我使用distribute easy-install安装了模块。该文件夹位于 python27/lib-site-packages/pyserial-2.7-py2.7.egg/serial 下。还添加了堆栈跟踪。
  • 您是否碰巧调用了一个您的程序serial.py?在代码的开头,添加 import serialprint(serial.__file__) 作为前两行。
  • 我最初确实将其命名为serial.py,但更改了它。这是打印的输出。 c:\Python27\lib\site-packages\pyserial-2.7-py2.7.egg\serial_init_.pyc

标签: python module serial-port pyserial


【解决方案1】:

应该是:

import serial
ser = serial.Serial("COM5", 9600)

注意serial.Serial中的大写“S”

【讨论】:

  • 好像就是这样!至少错误消失了,我必须等到我回家后才能确定它实际上是在与端口通信。大写和缩进每次都会让我明白:)。谢谢
  • 导入序列号;帮助(系列)
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2014-04-10
  • 2016-10-09
  • 1970-01-01
  • 1970-01-01
  • 2023-03-09
  • 2018-12-24
  • 1970-01-01
相关资源
最近更新 更多