仍安装pyusb:“导入错误:没有名为核心的模块”


11

在Raspberry Pi上,我通过安装libusbpyusb通过sudo apt-get install libusb-dev python-usb

但是运行一些Python代码(pyrow,从划船机读取数据)给我以下错误import usb.core

ImportError:没有名为核心的模块

该错误表明我没有pyusb正确安装,因此我手动进行了一次手动操作(下载并运行sudo python setup.py install),但这没有解决。

我认为问题可能与目录有关/usr/local/lib/python2.7/dist-packages/usb:在我的Ubuntu笔记本电脑上,该文件夹存在并包含(以及其他core.py文件夹),但是Raspberry Pi上的文件夹似乎不存在。ls在父目录中列出了该文件夹,但无法安装到该文件夹​​...

如何解决此问题?我必须在Raspberry Pi上使用特定版本的pyusb吗?

  • 硬件:Raspberry Pi B型
  • 操作系统:Raspbian Wheezy(build 2013-02-09)

Answers:


8

请按照以下步骤操作,看看是否可行。

$ sudo apt-get update
$ sudo apt-get install python-pip  #if you don't have pip installed already
$ sudo pip install pyusb

'sudo pip install pip'给我“要求已经满足”。对其进行升级将显示“最新需求”。我也按照Krzysztof Adamski的建议尝试了pyusb-1.0的手动安装,但是问题仍然存在。在全新安装上执行上述步骤是否可以工作?
A. Goossens

跳过sudo apt-get install python-pi步骤。只需输入sudo pip install pyusb即可。
SteveIrwin

对不起,打错了。我的意思是'sudo pip install pyusb'给出了“已经满足要求”。
A. Goossens

1
@ A.Goossens:您可能应该先卸载pyusb以前安装的软件。虽然对于您安装的软件包来说很容易apt-get,但是对于手动安装的软件包来说可能会更难。
Krzysztof Adamski

因为我不记得已经安装了哪个版本的pyusb和libusb,所以我重新安装了raspbian并使用了Stevelrwin的步骤。他们工作了!现在,pylow的工作就像一种魅力!显然,甚至不需要libusb或默认情况下已经安装了libusb。谢谢你的协助!
A. Goossens

7

pyusb 库有两个版本:

  • 稳定(0.4.x)
  • 开发中(1.0.x)

Debian发行stable版仅包含版本,这是您使用apt-get命令安装的版本。

现在pyrow正在尝试导入usb.core仅存在于1.0.x库版本中的内容。确实,pyrow's网站指出需要pyusb的1.0版本。这就是您遇到问题的原因。

因此,要使用它,pyrow您需要pyusb1.0.x,这在Debian中不可用,因此您无法使用apt-get进行安装。解决此问题最简单的方法是@Stevelrwin建议使用- pip install将安装pyusb的1.0.x分支。virtualenv如果您不想使用不是来自Debian软件包的某些库来污染系统,则可能需要使用。


谢谢,这使我更清楚了这个问题!但是,问题仍然存在。参见Stevelrwin的评论。
A. Goossens

3

尝试一下,这对我在适用于Python 3.5.3的Raspberry PI 3b +上有效

sudo apt-get install python-usb python3-usb

运行该代码导入usb.core后,工作

(Raspberry PI 3b +-Python 3.5.3-2019)


1

尤里卡!我已经在同时安装了Python版本2.7和3.4.2的Raspberry Pi上解决了该问题。

步骤1:将python usb库从版本2.7复制到版本3.4。

/usr/local/lib/python/2.7/dist-packages/中有两个文件夹

pyusb-1.0.0.egg-info,和

USB

这些被复制到/usr/local/lib/python/3.4/dist-packages/

步骤2:使用easy_install识别Python版本3.4至Python安装工具“ pip”命令行:sudo easy_install-3.4 pip

步骤3:将pyusb库安装到Python 3.4命令行中:sudo pip3.4 install pyusb

现在,pyusb库应该安装在Python版本3.4中,而不是默认版本(即版本2.7)(或在其之前)


-1

我也有同样的问题。

我确实对原因进行了罚款,至少在我的机器上:

Raspberry pi附带了两个Python安装版本:2.x和3.x,但是pyusb的安装脚本默认将软件安装在2.x版本上。

因此,当我们尝试在3.x版中使用它时,错误:“ ImportError:没有名为core的模块”自动出现。

我目前没有解决方案,但确实认为找到它应该并不复杂。


您是否已阅读其他答案,但这不是答案。
史蒂夫·罗比拉德
By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.