同时安装多个包

时间:2018-01-16 09:08:42

标签: python macos homebrew

我正在brew_installing以下包

cmds = ['brew install ghostscript',
 'brew install imagemagick',
 'brew install libmagic',
 'pip install sphinx']
 for cmd in cmds:
     os.system(cmd)

该命令逐个运行 如何同时运行这四个命令?

2 个答案:

答案 0 :(得分:1)

brew允许您安装多个公式,如果您用空格分隔它们。

将公式指定为列表;

formulae = ['ghostscript', 'imagemagik', ...]

现在,将这些列表元素与str.join合并,并将其传递给os.system -

import os
os.system("brew install {}".format(" ".join(formulae)))

但是,这对pip命令没有帮助。对我们来说幸运的是,pip不需要通过os.system进行调用。导入模块并调用pip.main

import pip
pip.main(['install', 'sphinx'])

这仍然意味着运行两个命令,但两个优于四个。

答案 1 :(得分:0)

使Coldspeed的答案中的最后一个建议更清晰:

import pip

for each in ["ghostscript","imagemagick","libmagic","sphinx"]: 
    pip.main(['install', each])