在python中打开端口时出错

时间:2011-05-24 02:42:38

标签: python port

我正在尝试从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.

为什么拒绝访问?我是系统管理员。这可能是代码的问题吗?

谢谢,

6 个答案:

答案 0 :(得分:17)

此类错误的最常见原因是端口已被其他应用程序打开,或者经常被 代码的先前(已执行但被遗忘)实例打开。

要测试这个假设,最简单的方法是运行一些其他程序,当你收到错误时打开同一个端口(例如Hyperterminal)。如果它也失败了,试着找出谁在拿着这个端口。

此外,Portmon是调试串口问题的有用工具。

答案 1 :(得分:15)

我明白了。很简单,我只是在设备管理器窗口中禁用了COM端口并再次启用它。

答案 2 :(得分:4)

由于这是一个热门搜索结果,我正在更新它以添加另一个也会创建“拒绝访问”错误的情况:端口权限实际上设置为拒绝正常用户访问!一些系统管理员锁定端口有充分的理由,因此只有具有管理员权限的用户才能访问。

最简单的解决方法是以管理员身份运行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

“它对我有用!” (TM)

答案 3 :(得分:0)

以管理员身份从cmd运行python也适用于我。

运行:

  1. 在搜索

  2. 中输入 cmd
  3. 右键单击并选择以管理员身份运行

答案 4 :(得分:0)

有时端口被阻塞。 尝试重新启动系统。它对我有用。

答案 5 :(得分:0)

我今天在Jupyter Notebook中遇到类似的错误,并设法通过Anaconda导航器而不是通过 Anaconda Prompt 来打开Jupyter Notebook来解决了这个问题。