ошибка при открытии порта в питоне - PullRequest
6 голосов
/ 24 мая 2011

Я пытаюсь получить данные акселерометра от TI Chronos, я получаю следующее сообщение об ошибке при запуске кода:

Traceback (most recent call last):
  File "C:\Python32\chronos_accel.py", line 50, in <module>

.

 .

   .

raise SerialException("could not open port %s: %s" % (self.portstr, ctypes.WinError()))
serial.serialutil.SerialException: could not open port COM4: [Error 5] Access is denied.

Почему доступ запрещен?Я системный администратор.Может ли быть проблема с кодом?

Спасибо,

Джей

Ответы [ 5 ]

17 голосов
/ 24 мая 2011

Наиболее распространенным источником таких ошибок является порт, который уже открыт каким-либо другим приложением или часто предыдущим (выполненным, но забытым для уничтожения) экземпляром вашего кода.

Чтобы проверить эту гипотезу, проще всего запустить другую программу, которая открывает тот же порт (например, Hyperterminal), когда вы получаете сообщение об ошибке. Если это также не помогает, попробуйте найти, кто держит порт.

Кроме того, Portmon - полезный инструмент для устранения подобных проблем с последовательным портом.

15 голосов
/ 24 мая 2011

Я понял это. Достаточно просто, я просто отключил COM-порт в окне диспетчера устройств и включил его снова.

4 голосов
/ 15 февраля 2013

Так как это лучший результат поиска, я обновляю его, чтобы добавить еще одну ситуацию, которая также создает ошибку «Отказ в доступе»: разрешения порта фактически настроены на запрет нормального доступа пользователя! Некоторые системные администраторы блокируют порты по уважительным причинам, поэтому доступ могут получить только пользователи с правами администратора.

Самый простой способ - запустить cmd.exe от имени администратора. Смотрите это: http://www.howtogeek.com/howto/windows-vista/run-a-command-as-administrator-from-the-windows-vista-run-box/

Резюме: Win + r, "cmd", Shift + Ctrl + Enter

"Это работает для меня!" (Тм)

1 голос
/ 01 сентября 2018

Иногда порт блокируется. Попробуйте перезагрузить систему. У меня это сработало.

0 голосов
/ 04 марта 2018

Запуск Python из cmd в качестве администратора также работает для меня.

Для запуска:

  1. Введите cmd в поиске

  2. Щелкните правой кнопкой мыши и выберите Запуск от имени администратора

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...