【问题标题】:Installed module (via pip) can't be imported无法导入已安装的模块(通过 pip)
【发布时间】:2017-09-21 02:54:54
【问题描述】:

操作系统: Windows 10 64 位
语言: Python 3.5.2 (Anaconda 4.2.0)
问题模块: PyBluez 0.22 (PyBluez-0.22-cp35-none-win_amd64.whl)

当我在安装后尝试导入 PyBluez 时:

我收到以下错误:

我通过 pip 更新了 Spyder,我也尝试通过 pip 卸载并重新安装模块:

编辑:

我只安装了 python 3.5.2:

【问题讨论】:

  • 不应该是import bluetooth而不是PyBluez吗?
  • 我在尝试时遇到同样的错误,将使用屏幕截图更新帖子
  • 检查 spyder 使用哪个 python 版本。在 spyder 中编写一个简短的脚本并执行它(import sys; print sys.version_info 或 print() 如果失败,则带括号)这通常是问题所在。或者在从cmd运行python后尝试导入蓝牙(即不是从spyder)
  • @Kieran 不,我是说普通的python 永远不应该引用 Python 3.x。 如果存在,应该是Python 2.7。如果只安装 Python 3.x,则可执行文件的名称应为 python3
  • @Kieran 很好地解决了这个问题——当你在命令行中为 3.5.2 安装它时,spyder 正在使用 3.6。现在我真的不知道 spyder 是如何工作的(尝试在 path/to/python/version 的选项中搜索)。在 spyder 中使用脚本来做 import pip; pip.main(['install','PyBluez'])

标签: python python-3.x pybluez


【解决方案1】:

根据 cmets。您为 python3.5.2 安装了 python 包PyBluez,但 spyder 使用的是 3.6。

This answer

按 CTRL+SHIFT+ALT+P 打开“首选项”窗口。这里面 窗口,选择左侧的 Console 项,然后选择 Advanced 设置选项卡。 Python 可执行文件的路径就在那里。

更改 python 可执行文件。

一个 hackish 解决方案是在 spyder 的脚本中运行它 import pip; pip.main(['install','PyBluez'])

【讨论】: