python subprocess.run() 返回 AttributeError:'module'对象没有属性'run'



>我正在尝试从python脚本执行shell命令。我使用的是python 3.7.3,所以run()函数应该可以正常工作,但它总是抛出AttributeError: 'module' object has no attribute 'run'错误。我将python的默认版本设置为3.7.3。python --version也返回Python 3.7.3.为了理解这个问题,我写了一个简单的脚本,叫做 out.py:

#!/usr/bin/env python
import subprocess
subprocess.run(["ls", "-l"])

如果我使用 shell 从 shell 执行此脚本sudo python out.py它会返回上述错误。如果我用sudo python3 out.py执行它,它就可以正常工作。我在这里错过了什么吗?我从来没有使用过python2。注意:我在树莓派上这样做。我想从中执行 shell 命令的脚本是作为触发器例程的一部分调用的,所以我不知道我是否可以在那里更改某些内容(Gammu RunOnReceive 指令)

通过将根用户的 python 版本设置为 python3 来修复我的问题

相关内容

  • 没有找到相关文章

最新更新