我正在尝试pip install
其他代码需要的某些模块。如果os.system("pip install module_name")
返回1,我想检查失败的原因。
我尝试使用os.popen()
来获取一些额外的信息,但是os.popen("pip install module_name").read()
仅返回了执行信息的第一行。
有人碰巧知道如何获取完整的信息,以便我可以记录下来并在以后进行修复吗?
答案 0 :(得分:0)
os.popen
不是很强大。使用subprocess.Popen
和communicate
:
import subprocess
p = subprocess.Popen("pip3 install module_name",
stdout=subprocess.PIPE,
stderr=subprocess.PIPE,
shell=True)
stdout, stderr = p.communicate()
print("STATUS:", p.returncode)
print("STDOUT:", stdout)
print("STDERR:", stderr)