【问题标题】:Python cannot import serialPython 无法导入序列号
【发布时间】:2020-01-28 00:48:10
【问题描述】:

拥有Python 3.7.6并已安装pyserial

pip install pyserial --user
Requirement already satisfied: pyserial in c:\users\myusername\appdata\local\programs\python\python37\lib\site-packages (3.4)

pip install pyserial
Requirement already satisfied: pyserial in c:\users\myusername\appdata\local\programs\python\python37\lib\site-packages (3.4)

我希望我可以通过 import serial 导入 serial,但失败了。

没有名为“串行”的模块

如下

python3
Python 3.7.6 (tags/v3.7.6:43364a7ae0, Dec 19 2019, 01:54:44) [MSC v.1916 64 bit (AMD64)] on win32
Type "help", "copyright", "credits" or "license" for more information.
>>> import serial
Traceback (most recent call last):
  File "<stdin>", line 1, in <module>
ModuleNotFoundError: No module named 'serial'

我做错了吗?


附言import sys; print(sys.path) 的结果是

[
    '',
    'C:\\Program Files\\WindowsApps\\PythonSoftwareFoundation.Python.3.7_3.7.1776.0_x64__qbz5n2kfra8p0\\python37.zip',
    'C:\\Program Files\\WindowsApps\\PythonSoftwareFoundation.Python.3.7_3.7.1776.0_x64__qbz5n2kfra8p0\\DLLs',
    'C:\\Program Files\\WindowsApps\\PythonSoftwareFoundation.Python.3.7_3.7.1776.0_x64__qbz5n2kfra8p0\\lib',
    'C:\\Program Files\\WindowsApps\\PythonSoftwareFoundation.Python.3.7_3.7.1776.0_x64__qbz5n2kfra8p0',
    'C:\\Program Files\\WindowsApps\\PythonSoftwareFoundation.Python.3.7_3.7.1776.0_x64__qbz5n2kfra8p0\\lib\\site-packages'
]

附言where pip 的结果是

C:\Users\myusername\AppData\Local\Programs\Python\Python37\Scripts\pip.exe
C:\Users\myusername\AppData\Local\Microsoft\WindowsApps\pip.exe

【问题讨论】:

  • 试试pip3 install pyserial
  • 向我们展示import sys; print(sys.path)的输出
  • @Macattack,经过测试。一样的。
  • @JohnGordon,更新了问题。
  • @hadoop,在 Linux/Mac 上启动 which pip 或在 Windows 终端上启动 where pip

标签: python windows serial-port python-3.7 pyserial


【解决方案1】:

首先,您已经从 Windows 应用商店安装了 python。然后你决定使用官方安装程序安装 python。结果你已经安装了 2 条蟒蛇

  • 第一个(来自Windows Store)位于C:\Users\%username%\AppData\Local\Microsoft\WindowsApps\python.exe
  • 第二个(来自安装程序) - 在C:\Users\%username%\AppData\Local\Programs\Python\Python37\python.exe

每个安装程序都将 python 的路径添加到 PATH 中,这就是问题所在。

当您在不同的目录中有两个同名的可执行文件(python.exepip.exe 等)添加到 PATH 您让操作系统选择要执行哪个发射。在您的情况下,操作系统从..WindowsApps\ 目录启动python.exe,从..Python37\Scripts\ 启动pip.exe

如何解决:

  1. ⊞ Win+R 并输入sysdm.cpl:

  2. 切换到标签“高级”并按下按钮“环境变量”

  3. 在打开的窗口中,您将看到 2 个表格,代表当前用户 (顶部的表格) 和整个系统 (底部的表格) 的环境变量。

  4. 您需要在每个表格上选择有效的“路径”,然后按表格下方的“编辑”

  5. 选择你的战士!你应该选择你想使用的 python 并从列表中删除所有到其他副本的路径。为此,您应该在打开的窗口中选择包含 python 路径的行您不想使用并通过按按钮 “删除” 删除它们。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2017-02-17
    • 2022-06-16
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2016-04-30
    • 2016-04-15
    • 2015-06-22
    相关资源
    最近更新 更多