我已经使用python 2.7.2在我的Ubuntu盒子上安装了最新的pySerial,它适用于大多数事情,但每当我尝试导入'tools'包时,它说它找不到'工具' 。 documentation for pySerial明确引用了这些“工具”包。
>>> from serial import tools
Traceback (most recent call last):
File "<pyshell#30>", line 1, in <module>
import serial.tools
ImportError: No module named tools
当我:
>>> serial.VERSION
'2.5'
这是根据Source Forge
的最新版本那么为什么我不能进入pySerial的'tools'包呢?
答案 0 :(得分:25)
使用pip
安装pyserial
。首先安装点子:
sudo apt-get install python-pip
之后安装pyserial
:
sudo pip install pyserial
答案 1 :(得分:3)
我来到这里是因为我有同样的问题。 奇怪的是那个
import serial
工作,但
from serial.tools import list_ports
没&#39;吨
原来我把脚本命名为#34; serial.py&#34;。重命名后,一切正常。
答案 2 :(得分:1)
看起来ubuntu软件包与上游不匹配。比较SVN上的官方pySerial包:
http://pyserial.svn.sourceforge.net/viewvc/pyserial/trunk/pyserial/serial/
到启动板中的ubuntu包:
http://bazaar.launchpad.net/~ubuntu-branches/ubuntu/raring/pyserial/raring/files/head:/serial/
那里也缺少工具。它确实看起来像保留miniterm.py
脚本,然后安装它......某处;尽管如此,我在deb包装方面还不够精通。
答案 3 :(得分:1)
site-packages文件夹中的pyserial-2.4-py2.7.egg是在site-packages文件夹中导入而不是从串口导入的。一旦我重命名这个文件,以便它不再从这里导入它工作正常。您可以通过执行
轻松调试import serial
serial._ _path_ _
查看从中导入序列的位置。
答案 4 :(得分:1)
您必须先卸载serial
和pyserial
,然后重新安装pyserial
:
pip uninstall serial
pip uninstall pyserial
pip install pyserial
由于两个库都包含一个名为serial.py
的文件,因此会发生名称冲突。
答案 5 :(得分:0)
是的,使用python-pip install ,,,然后,,,升级,,,串口的版本将是2.7 ...它的工作
答案 6 :(得分:0)
以防万一pip install --upgrade&#34;没有工作(就像发生在我身上一样),在Linux中你可以检查/usr/lib/python2.7/dist-packages
中是否有一个串行包,新的串口包装了pip install到/usr/**local**/lib/python2.7/dist-packages/serial
的那个,对于某些原因usr/lib/python2.7/
中的那个具有优先权,并且模块工具不存在于该版本的pyserial中。更改名称或删除目录可以解决问题。
答案 7 :(得分:0)
对于我来说,我在遇到以下错误后安装了serial
,但没有安装pyserial
。
ImportError: No module named 'serial'
然后import serial
还可以,但是from serial import tools
无法正常工作。
sudo pip uninstall serial
和sudo pip install pyserial
希望能帮助像我这样的人。
答案 8 :(得分:0)
pip和python -m pip之间的区别可以是版本。例如,可能是您从python2调用了pip,但是当您键入python -m pip时,您会得到python3,依此类推...
答案 9 :(得分:-1)
您必须以这种方式调用模块的功能:
from serials import tools
例如:如果我想从sqrt
模块调用math
函数,我会这样做:
from math import sqrt
import math.sqrt **is wrong.**
答案 10 :(得分:-1)
从pyserial网页上:https://pyserial.readthedocs.io/en/latest/pyserial.html
他们建议您使用以下命令: python -m pip安装pyserial
对我有用。我对pip不够了解,无法理解它与常规pip安装pyserial的区别,但是它对我有用(经过很多挫折之后)。