我在使用简单的扭曲程序时遇到问题,运行时出现以下错误:
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存在冲突吗?
答案 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.pyc
和serial.pyo
(如果存在),然后重试。它仍然可能不起作用,但问题的原因(因此追溯)至少应该是不同的。