繁体   English   中英

使用 sudo 运行 python 脚本时出现无效语法错误

[英]Invalid Syntax error for running python script with sudo

我正在通过python myscript.py从我的终端执行 python 脚本。 然后我被要求输入密码,因为我正在使用os.system("sudo some_command_here")的代码。 但是当我通过sudo python myscript.py从终端运行相同的代码时。 它显示了SyntaxError: invalid syntax 如果我注释掉该行只是为了检查它是否解决,但在其他代码行中我仍然遇到相同的错误。 我做错了什么,为什么它给了我这个错误。

如果您为 python 使用虚拟环境,则系统的 python 版本可能与您在 venv 中的版本不同,并且 sudo 命令始终使用系统版本。 对于 sudo 使用 python3 而不是 python 可能会解决问题。

如果您使用的是虚拟环境,请确保所有 python 解释器实例都指向虚拟环境中的 python 二进制文件。

您应该更改的第一个也是显而易见的例子是:

# sudo python myscript.py
sudo /path/to/virtualenv/bin/python myscript.py

然后更改myscript.py中的所有实例。 我假设您示例中的"some_command_here"也是一个 python 调用。

"""myscript.py"""

# os.system("sudo python arg1 arg2 ...")
os.system("sudo /path/to/virtualenv/bin/python arg1 arg2 ...")

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM