![](/img/trans.png)
[英]Python import serial, no module named serial error
[英]Error on Python serial import
當我嘗試導入序列時,我收到以下錯誤:
Traceback (most recent call last):
File "C:\Documents and Settings\eduardo.pereira\workspace\thgspeak\tst.py", line 7, in <module>
import serial
File "C:\Python27\lib\site-packages\serial\__init__.py", line 27, in <module>
from serial.serialwin32 import Serial
File "C:\Python27\lib\site-packages\serial\serialwin32.py", line 15, in <module>
from serial import win32
File "C:\Python27\lib\site-packages\serial\win32.py", line 182, in <module>
CancelIoEx = _stdcall_libraries['kernel32'].CancelIoEx
File "C:\Python27\lib\ctypes\__init__.py", line 375, in __getattr__
func = self.__getitem__(name)
File "C:\Python27\lib\ctypes\__init__.py", line 380, in __getitem__
func = self._FuncPtr((name_or_ordinal, self))
AttributeError: function 'CancelIoEx' not found
我在WinXP筆記本電腦上安裝了最新版本的pySerial,Python 2.7。 到處嘗試,發現沒有類似的問題。 那有什么解決方案嗎? 提前致謝...
您正在使用的pySerial版本正在嘗試調用僅在Windows Vista中可用的功能 ,而您正在運行Windows XP。
可能值得嘗試使用舊版本的pySerial。
有問題的代碼已於2016年5月3日添加到pySerial ,因此在此之前的版本可能是一個良好的開端。
舊版本似乎不可用。 但是,這對我有用(假設nanpy版本3.1.1):
_cancel_overlapped_io()
, cancel_read()
, cancel_write()
在第436-455行幾乎在文件的botton (蟒蛇)
def _close(self):
"""internal close port helper"""
if self._port_handle is not None:
# Restore original timeout values:
win32.SetCommTimeouts(self._port_handle, self._orgTimeouts)
# Close COM-Port:
if self._overlapped_read is not None:
win32.CloseHandle(self._overlapped_read.hEvent)
self._overlapped_read = None
if self._overlapped_write is not None:
win32.CloseHandle(self._overlapped_write.hEvent)
self._overlapped_write = None
win32.CloseHandle(self._port_handle)
self._port_handle = None
另外,在開始通信時創建一個非默認的串行連接,否則你將被綁定到一些linux設備:
a = ArduinoApi(SerialManager("COM5:"))
for i in range(10):
a.pinMode(13, a.OUTPUT)
a.digitalWrite(13, a.HIGH)
# etc.
並在串口\\ win32.py評論
#CancelIoEx = _stdcall_libraries['kernel32'].CancelIoEx
#CancelIoEx.restype = BOOL
#CancelIoEx.argtypes = [HANDLE, LPOVERLAPPED]
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.