Python 无法导入序列号

Python cannot import serial

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 但失败了。

No module named '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'

我做错了吗?


PSimport 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'
]

PSwhere pip的结果是

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

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

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

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

当你有两个同名的executable时(python.exe, pip.exe, 等等) 在添加到 PATH 的不同目录中你让 OS 选择要启动的目录。在您的情况下,OS 从 ..WindowsApps\ 目录启动 python.exe,从 [=] 启动 pip.exe 13=].

如何解决:

  1. ⊞Win+R然后输入sysdm.cpl:

  2. 切换到选项卡 "Advanced" 并按下按钮 "Environment variables":

  3. 在打开的window中你会看到2个table代表当前用户的环境变量(table在上面) 和整个系统 (table 在底部).

  4. 您需要 select 有效 "Path" 在每个 table 上并按 "Edit"下table:

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