Python не может импортировать серийный номер - PullRequest
0 голосов
/ 28 января 2020

Имея 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)

Я ожидаю, что могу импортировать serial через 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'

Я делаю какую-либо ошибку?


PS . Результат 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'
]

PS . Результат where pip равен

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

1 Ответ

0 голосов
/ 28 января 2020

Во-первых, вы установили python из Windows Store. Тогда Вы решили установить python, используя официальный установщик. В результате У вас установлено 2 питона :

  • Первый (из Windows Store) находится в C:\Users\%username%\AppData\Local\Microsoft\WindowsApps\python.exe;
  • Второй (из установщика) - в C:\Users\%username%\AppData\Local\Programs\Python\Python37\python.exe.

Каждый установщик добавляет путь к python в ПУТЬ и здесь возникает проблема.

Если у вас есть два исполняемых файла с одинаковыми именами (python .exe , pip.exe , et c.) в разных каталогах, которые добавлены в PATH. Вы позволяете ОС выбирать, какие из них запускать. В вашем случае ОС запускает python .exe из каталога ..WindowsApps\ и pip.exe из ..Python37\Scripts\.

Как это исправить:

  1. Нажмите ⊞ Win + R и введите sysdm.cpl:

    Windows

  2. Перейдите на вкладку «Дополнительно» и нажмите кнопку «Переменные среды» :

    Windows

  3. В открывшемся окне вы увидите 2 таблицы, представляющие переменные среды для текущего пользователя (таблица вверху) и для всей системы (таблица внизу) .

    Windows

  4. Необходимо выбрать допустимый «Путь» на каждой из этих таблиц и нажмите "Изменить" под таблицей:

    Windows

  5. Выберите своего воина! Вы должны выбрать, какой python вы хотите использовать, и удалить все пути к другой копии из списка. Для этого необходимо в открывшемся windows выбрать строки, содержащие путь к python. Вы не хотите использовать их и удалить, нажав кнопку «Удалить» .
.
...