Fed*_*tta 8 python apt apt-get
根据操作系统,目前我需要使用apt或rpm安装一些软件包.我看到lib"apt"更新或升级系统,但有可能用它来安装一个软件包吗?
我试图使用"subprocess":
subprocess.Popen('apt-get install -y filetoinstall', shell=True, stdin=None, stdout=None, stderr=None, executable="/bin/bash")
Run Code Online (Sandbox Code Playgroud)
但是这个命令显示了shell中的所有进程,我无法隐藏它.
谢谢您的帮助.
Rus*_*ias 10
您可以check_call在subprocess图书馆中使用.
from subprocess import STDOUT, check_call
import os
check_call(['apt-get', 'install', '-y', 'filetoinstall'],
stdout=open(os.devnull,'wb'), stderr=STDOUT)
Run Code Online (Sandbox Code Playgroud)
转储stdout到/dev/null,或os.devnull在这种情况下.
os.devnull是平台独立的,将/dev/null在POSIX和nulWindows 上返回(这与您使用时无关,apt-get但仍然很好知道:))
谢谢大家!我使用每种解决方案的一部分。我的代码:
proc = subprocess.Popen('apt-get install -y FILE', shell=True, stdin=None, stdout=open(os.devnull,"wb"), stderr=STDOUT, executable="/bin/bash")
proc.wait()
Run Code Online (Sandbox Code Playgroud)
新增:stdout和.wait
多谢您来阿根廷一次!