gpt4 book ai didi

python - subprocess.call 在 PyCharm (linux) 中不工作

转载 作者:太空狗 更新时间:2023-10-29 11:17:29 24 4
gpt4 key购买 nike

程序如下:

if os.name == 'posix' and getpass.getuser() != 'root':
from subprocess import call

call(["sudo", sys.executable, os.path.realpath(__file__), "--root-install"])

当我从终端运行它时它工作正常:

> [sudo] Password for user:

但是当我从 PyCharm 运行它时,终端只是保持空白。
我也尝试过手动设置 stdin=sys.stdin, stdout=sys.stdout,但这并没有改变任何东西。

我在这里做错了什么?

最佳答案

PyCharm 和 IDE 通常不喜欢类似 getpass 的输入。由于 sudo 以这种方式要求输入密码,因此它无法从重定向的 IDE 控制台运行。

Popen 重定向 stdin 也不会改变任何东西。

解决方法:从终端运行 sudo 命令。 xterm 示例(抱歉,我对现在的终端了解不多):

call(["xterm","-e","sudo", sys.executable, os.path.realpath(__file__), "--root-install"])

关于python - subprocess.call 在 PyCharm (linux) 中不工作,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/43852599/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com