【问题标题】:Have to run all python scripts with sudo必须使用 sudo 运行所有 python 脚本
【发布时间】:2021-03-30 06:47:58
【问题描述】:

我得到了一个新的 Raspberry Pi,在上面安装了 Ubuntu,编写了一个 python 脚本,但是当我使用 python3 script.py 运行脚本时,它只是找不到我使用 pip3 安装的库并给出库丢失错误。

但如果我使用 sudo python script.py 运行相同的脚本,它就会运行。

我已使用 sudo chmod 777 script.py 授予 script.py 权限,但同样的问题

我什至给了文件夹权限 sudo chown user user /home/someuser/Desktop ,但同样的问题

现在更大的问题是,当我使用像 Thonny 这样的基本 IDE 时,我无法从 IDE 本身使用 sudo 运行,所以我必须从终端单独运行脚本,这太痛苦了

这是我的文件权限 -rwxrwxrwx 1 someuser someuser 2528 Dec 19 17:57 script.py

这是我的文件夹权限 drwxr-xr-x 3 someuser someuser 4096 Dec 19 17:56 Desktop

除了我在 ubuntu 安装过程中创建的用户之外,系统上没有其他用户

我主要使用 sudo pip3 install 安装了所有库

我在尝试使用 GPIO 库时遇到的错误之一

  File "/home/someuser/Desktop/beep.py", line 11, in <module>
    GPIO.setup(18, GPIO.OUT)
RuntimeError: Not running on a RPi!

另一个错误:

  File "/usr/lib/python3.8/socket.py", line 231, in __init__
    _socket.socket.__init__(self, family, type, proto, fileno)
PermissionError: [Errno 1] Operation not permitted

有没有一种方法可以让我不必每次都使用 sudo 并且可以轻松轻松地使用已安装的库。

这里有一些附加信息

/usr/lib/python38.zip
/usr/lib/python3.8
/usr/lib/python3.8/lib-dynload
/home/someuser/.local/lib/python3.8/site-packages
/usr/local/lib/python3.8/dist-packages
/usr/lib/python3/dist-packages

someuser@pi4:~$ which python3
/usr/bin/python3

【问题讨论】:

标签: python linux ubuntu sudo


【解决方案1】:

您是否使用 sudo 安装库,如果是,这就是您当前用户无法使用它的原因。

使用pip install --user &lt;package_name&gt; 安装软件包以便为当前用户安装它们。

使用virtualenv

【讨论】:

  • 安装了新的 ubuntu ,只有 sudo apt-get 更新,而不是当我运行 pip install --user RPi.GPIO 时它与 Building wheels for collected packages: RPi.GPIO Building wheel for RPi.GPIO (setup.py) ... error ERROR: Command errored out with exit status 1: 出错
  • 没有 sudo 就无法让我安装 RPi.GPIO。请帮忙 。又是同样的问题
  • 必须使用sudo apt-get install rpi.gpio安装库
猜你喜欢
  • 2023-03-26
  • 2019-04-07
  • 2018-10-23
  • 1970-01-01
  • 2017-12-22
  • 1970-01-01
  • 1970-01-01
  • 2016-03-22
  • 1970-01-01
相关资源
最近更新 更多