Python USBError:[Errno 13]访问被拒绝(权限不足)

Python USBError:[Errno 13]访问被拒绝(权限不足),python,usb,ubuntu-16.04,Python,Usb,Ubuntu 16.04,这个问题由来已久。有讨论和解决方案可供选择。这一切归结起来就是更新规则文件并授予权限。所以我遵循了食谱。但我还是有同样的问题。以下是我按照说明操作的屏幕截图 版本: Python 2.7.12 (default, Dec 4 2017, 14:50:18) usb.__version__ '1.0.2' 错误: Traceback (most recent call last): File "/media/psf/Home/All-Projects-on-femto/Laser

这个问题由来已久。有讨论和解决方案可供选择。这一切归结起来就是更新规则文件并授予权限。所以我遵循了食谱。但我还是有同样的问题。以下是我按照说明操作的屏幕截图

版本:

Python 2.7.12 (default, Dec  4 2017, 14:50:18) 
usb.__version__ '1.0.2'
错误:

    Traceback (most recent call last):
  File "/media/psf/Home/All-Projects-on-femto/LaserLab/Software/usb_4108.py", line 19, in <module>
    dev.set_configuration()
  File "/usr/local/lib/python2.7/dist-packages/usb/core.py", line 869, in set_configuration
    self._ctx.managed_set_configuration(self, configuration)
  File "/usr/local/lib/python2.7/dist-packages/usb/core.py", line 102, in wrapper
    return f(self, *args, **kwargs)
  File "/usr/local/lib/python2.7/dist-packages/usb/core.py", line 147, in managed_set_configuration
    self.managed_open()
  File "/usr/local/lib/python2.7/dist-packages/usb/core.py", line 102, in wrapper
    return f(self, *args, **kwargs)
  File "/usr/local/lib/python2.7/dist-packages/usb/core.py", line 120, in managed_open
    self.handle = self.backend.open_device(self.dev)
  File "/usr/local/lib/python2.7/dist-packages/usb/backend/libusb1.py", line 786, in open_device
    return _DeviceHandle(dev)
  File "/usr/local/lib/python2.7/dist-packages/usb/backend/libusb1.py", line 643, in __init__
    _check(_lib.libusb_open(self.devid, byref(self.handle)))
  File "/usr/local/lib/python2.7/dist-packages/usb/backend/libusb1.py", line 595, in _check
    raise USBError(_strerror(ret), ret, _libusb_errno[ret])
USBError: [Errno 13] Access denied (insufficient permissions)
和精简代码:

import usb.core
import usb.util
dev = usb.core.find(idVendor=0x0683, idProduct=0x4108)
dev.reset() 
但是,它没有给我必要的权限。 我的精简代码仍然会产生错误:

import usb.core
import usb.util
dev = usb.core.find(idVendor=0x0683, idProduct=0x4108)
dev.reset()

奇怪的是,如果我作为超级用户从终端开始空闲,我会获得权限(终端:
sudo IDLE
)。

您的规则看起来有点奇怪。你能把它们全部去掉,然后试试这个吗

SUBSYSTEM=="usb", ATTRS{idVendor}=="0683", MODE="0666"

规则文件的完整路径是什么?也许你放错地方了。您是否记得在创建udev规则文件后拔下设备并将其重新插入?使用
sudo
运行程序可以解决您的权限问题一点也不奇怪,这就是
sudo
和root用户的全部要点。您的规则看起来有点奇怪。你能把它们全部去掉,然后试试这个吗
SUBSYSTEM==“usb”,ATTRS{idVendor}==“0683”,MODE=“0666”
问题在于规则。规则ATTRS{idVendor}==“0683”,MODE=“0666”起作用。
SUBSYSTEM=="usb", ATTRS{idVendor}=="0683", MODE="0666"