2024-04-25 09:37:54 发布
网友
我有一个构建脚本(bash),利用python pip从远程获取需求并将其放入虚拟环境中。此构建脚本可以由另一个脚本调用,该脚本将使用任意数量的线程和不同的目标来调用它。这将导致每次调用都重新运行pip。它将尝试检查同一虚拟环境的相同要求。在
pip
这是否与pip不兼容?在
根据this issue,pip应该大部分是线程安全的,除非在更新时存储库状态发生变化。在
pip每次运行都是对带宽和资源的浪费。 在virtualenv中,已安装的软件包保持安装状态。因此,您可以在存储标志的目录中设置一个标志或一个文件,在检查标志时,您可以执行pip。这是一个更好的解决方案。在
因为这是google的第一个热门话题:pip不应该被认为是线程安全的。另外,如果您没有在导入xthe pip包的线程内运行pip.main(),则pip中存在一个bug,它可能导致从线程内调用pip时出现异常。在
pip.main()
运行pip.main()也不是受支持的API。唯一推荐的方法是从subprocess.Popen()或类似的调用pip。在
subprocess.Popen()
更多详情请点击: https://github.com/pypa/pip/issues/3889
根据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
相关问题 更多 >
编程相关推荐