pip线程安全吗?

2024-04-25 09:37:54 发布

您现在位置:Python中文网/ 问答频道 /正文

我有一个构建脚本(bash),利用python pip从远程获取需求并将其放入虚拟环境中。此构建脚本可以由另一个脚本调用,该脚本将使用任意数量的线程和不同的目标来调用它。这将导致每次调用都重新运行pip。它将尝试检查同一虚拟环境的相同要求。在

这是否与pip不兼容?在


Tags: pip脚本bash利用目标数量远程虚拟环境
3条回答

根据this issue,pip应该大部分是线程安全的,除非在更新时存储库状态发生变化。在

pip每次运行都是对带宽和资源的浪费。
在virtualenv中,已安装的软件包保持安装状态。因此,您可以在存储标志的目录中设置一个标志或一个文件,在检查标志时,您可以执行pip。这是一个更好的解决方案。在

因为这是google的第一个热门话题:pip不应该被认为是线程安全的。另外,如果您没有在导入xthe pip包的线程内运行pip.main(),则pip中存在一个bug,它可能导致从线程内调用pip时出现异常。在

运行pip.main()也不是受支持的API。唯一推荐的方法是从subprocess.Popen()或类似的调用pip。在

更多详情请点击: https://github.com/pypa/pip/issues/3889

相关问题 更多 >