ImportError:无法在Twisted上导入名称SerialPort

时间:2014-01-31 23:51:11

标签: python import twisted pyserial

我在使用简单的扭曲程序时遇到问题,运行时出现以下错误:

Traceback (most recent call last):
  File "serial.py", line 1, in <module>
   from twisted.internet.serialport import SerialPort
  File "/System/Library/Frameworks/Python.framework/Versions/2.7/Extras/lib/python/twisted/internet/serialport.py", line 22, in <module>
    import serial
  File "/Users/me/Desktop/serial.py", line 1, in <module>
from twisted.internet.serialport import SerialPort
ImportError: cannot import name SerialPort

我确实有一堆花哨的代码,但我确定以下行是问题所在:

from twisted.internet.serialport import SerialPort

我正在运行Twisted 13.2.0,Python 2.7都已更新以及安装了PySerial 2.7。所以我相信一切都已安装并且是最新的。在两个不同的系统上发生此错误。

以下运行没有问题:

python -c "from twisted.internet.serialport import SerialPort"

感谢您的帮助。它与PySerial存在冲突吗?

1 个答案:

答案 0 :(得分:2)

查看追溯的这些行:

File "/System/Library/Frameworks/Python.framework/Versions/2.7/Extras/lib/python/twisted/internet/serialport.py", line 22, in <module>
  import serial
File "/Users/me/Desktop/serial.py", line 1, in <module>
  from twisted.internet.serialport import SerialPort

在此您可以看到.../twisted/internet/serialport.py正在执行此操作:

import serial

这是来自Twisted的一行。您可以根据以下事实猜测代码要导入的serial模块不是您编写的内容。

然后查看回溯中的下一个文件:/Users/me/Desktop/serial.py。这告诉您Python在您的个人桌面目录中找到了serial模块。 import serial现在正在运行您编写的代码。基于之前的猜测,这可能是一件坏事。

摆脱serial.py(以及serial.pycserial.pyo(如果存在),然后重试。它仍然可能不起作用,但问题的原因(因此追溯)至少应该是不同的。