Pip Install -r继续运行失败的安装

Jim*_*ket 24 python installer pip

我正在使用命令安装pip-python的软件包列表

pip install -r requirements.txt
Run Code Online (Sandbox Code Playgroud)

有时它无论出于何种原因都无法安装包.即使出现这些故障,它是否有可能继续下一个包?

cae*_*sol 31

我也有同样的问题.继续在@Greg Haskins的路线上,也许这个bash单行更简洁:

cat requirements.txt | while read PACKAGE; do pip install "$PACKAGE"; done

# TODO: extend to make the script print a list of failed installs,
# so we can retry them.
Run Code Online (Sandbox Code Playgroud)

(对于非shellscripters:它调用pip install每个列出的包)

关于依赖性失败的相同说明当然适用于此!


Gre*_*ins 16

您可以编写一个小的包装器脚本来迭代地调用pip,例如:

#!/usr/bin/env python
"""
pipreqs.py: run ``pip install`` iteratively over a requirements file.
"""
def main(argv):
    try:
        filename = argv.pop(0)
    except IndexError:
        print("usage: pipreqs.py REQ_FILE [PIP_ARGS]")
    else:
        import pip
        retcode = 0
        with open(filename, 'r') as f:
            for line in f:
                pipcode = pip.main(['install', line.strip()] + argv)
                retcode = retcode or pipcode
        return retcode
if __name__ == '__main__':
    import sys
    sys.exit(main(sys.argv[1:]))
Run Code Online (Sandbox Code Playgroud)

你可以称之为pipreqs.py requirements.txt --some --other --pip --args.

请注意,这仅适用于"尽管失败但仍然存在"的格言一级深度 - 如果pip无法安装所列内容的子要求,那么当然父要求仍然会失败.


小智 9

在 Windows 命令提示符/cmd 上:

# For each package,p, in requirements.txt, pip install package
FOR /F %p IN (requirements.txt) DO pip install %p
Run Code Online (Sandbox Code Playgroud)