【发布时间】: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 serial和print(serial.__file__)作为前两行。 -
我最初确实将其命名为serial.py,但更改了它。这是打印的输出。 c:\Python27\lib\site-packages\pyserial-2.7-py2.7.egg\serial_init_.pyc
标签: python module serial-port pyserial