代码之家  ›  专栏  ›  技术社区  ›  the_endian

python3即使安装正确也找不到模块

  •  0
  • the_endian  · 技术社区  · 5 年前

    我使用的是python 3.6.7venv,我已经安装了 PyBluez 蓝牙库,以及它的所有依赖项,如 sudo apt install bluetooth libbluetooth-dev python3-bluez . 当我运行python脚本时,我得到:

    ` moduleNotFounderror:没有名为“bluetooth”的模块

    最疯狂的是我刚刚检查了我的环境 /lib/python3.6/site-packages/ 目录里有 的确 目录标题为蓝牙和Pybluez-0.22,鸡蛋信息。

    即使如此,当我进入 bluetooth 目录,有 的确 ble.py 文件,一个 _bluetooth.cpython.so 文件(名称缩写) 一个bluez.py,里面都有有效的代码。所有依赖项都是通过 pip3 install 从虚拟环境中,甚至用 python3 -m pip install python3声称它们已经安装到了。另外, ls -la 显示drwxrwxr-x就像 site-packages 文件夹。这里有什么问题?

    注意:我还用 pip3 list 从静脉里。

    注意2:Visual Studio代码似乎无法定位模块…它们用红色下划线,pylint扩展名显示 unable to import [modulename] . 这仅适用于安装在VENV中的模块。这可能只是Pylint扩展搜索系统libs而不是我的vent的libs时出错…没什么大不了的。

    1 回复  |  直到 5 年前
        1
  •  0
  •   arryph    5 年前

    安装时 python3-bluez 作为apt包,它安装在系统的全局站点包中。默认情况下,virtualenv不会从全局站点包继承包,因此在virtualenv环境中,您实际上无法从全局站点包导入任何模块。但这可以在创建virtualenv环境时从全局站点包继承 --system-site-packages 标记或通过删除创建后 no-global-site-packages.txt lib/pythonX.X/ 目录。欲了解更多信息,请联系官方 documentation .