Python中出现导入serial错误

0 投票
1 回答
1995 浏览
提问于 2025-04-15 13:19

我写了

import serial

出现了这些消息。

Traceback (most recent call last):
  File "<stdin>", line 1, in ?
  File "/usr/lib/python2.4/site-packages/serial/__init__.py", line 20, in ?
    from serialposix import *
  File "/usr/lib/python2.4/site-packages/serial/serialposix.py", line 13, in ?
    import sys, os, fcntl, termios, struct, select, errno
ImportError: No module named termios

哪里出问题了?

1 个回答

3

termios这个模块从Python 2.0版本开始就已经在标准库里了(我对更早的Python版本不太了解),但它一直都是Unix系统专用的模块。你的2.4版本应该没问题,只要你是在某种Unix系统上运行——也就是说,除了Windows之外的任何系统。你遇到的问题可能是因为Python安装有问题,或者你在一个非Unix平台上(如果不是Windows,我很想知道那是什么)。

编辑:提问者澄清说他们使用的是Debian——这个系统有着悠久的历史,常常会把一些重要的组件删除,或者把它们藏在很难找到的包里,这种做法长期以来对他们的Python包管理造成了伤害。

我试了好几个包搜索引擎,但找不到他们把Python的termios模块藏在哪里(无论哪个版本),所以我只能建议一些变通办法(除非我刚加的debian标签能吸引到懂Debian的专家来帮忙),当然也可以在专门的Debian论坛上询问(当然要明确说明使用的具体版本)。

也许安装另一个Python(一个真正的Python,而不是被“巧妙打包”的,也就是被拆成几块并且缺失了一些部分的Debian版本)会有帮助——例如,如果提问者坚持使用Python 2.4并且需要使用.deb包,PYTHON2.4_2.4.6-1UBUNTU3_I386.DEB可能是个选择(当然我不确定它和它的依赖在提问者的具体Debian版本上安装得多顺利);或者,也可以选择一个更新更完整的Python,具体可以参考这里(特别针对Debian Etch,但希望可以适应提问者的具体版本)。

撰写回答