Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/302.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python Google Cloud Composer安装依赖项花费的时间太长_Python_Google Cloud Platform_Airflow_Pypi_Google Cloud Composer - Fatal编程技术网

Python Google Cloud Composer安装依赖项花费的时间太长

Python Google Cloud Composer安装依赖项花费的时间太长,python,google-cloud-platform,airflow,pypi,google-cloud-composer,Python,Google Cloud Platform,Airflow,Pypi,Google Cloud Composer,我正在按照GoogleCloudComposer的文档在一个环境中运行。我使用此命令从需求文件安装库: $gcloud composer环境更新$ENV_NAME\ --从文件requirements.txt更新pypi包\ --位置us-east4 这只是一个测试,这个需求文件只有4个库需要安装,但是执行这个命令需要20多分钟。因此,我尝试使用用户界面并从那里安装一个软件包,但所需时间几乎相同 有些事情对我来说没有意义,当我执行这些命令时,环境进入“更新状态”,需要几分钟才能再次准备好。为什

我正在按照GoogleCloudComposer的文档在一个环境中运行。我使用此命令从需求文件安装库:

$gcloud composer环境更新$ENV_NAME\
--从文件requirements.txt更新pypi包\
--位置us-east4
这只是一个测试,这个需求文件只有4个库需要安装,但是执行这个命令需要20多分钟。因此,我尝试使用用户界面并从那里安装一个软件包,但所需时间几乎相同

有些事情对我来说没有意义,当我执行这些命令时,环境进入“更新状态”,需要几分钟才能再次准备好。为什么Composer执行
pip安装需要这么长时间


有没有人已经面临过类似的问题?如何在Composer中管理Python依赖项的安装?

云编写器环境需要很长时间才能更新的原因是该服务在Google Kubernetes引擎和App引擎(用于Web服务器)中的分布式设置中部署了Airflow。这意味着该服务必须负责构建/重建容器映像、将它们重新部署到集群、更新Web服务器应用程序等


虽然这意味着安装软件包或环境更新可能需要一些时间,这就是Composer易于使用的原因——即使您有几十个工作节点,它也可以为您提供一个与pip安装相当的一次性解决方案。

Google Cloud Composer将根据底层节点更新应用程序引擎。对于我来说,仅使用PYPI安装一个特定的节点就花了大约20分钟,共有3个节点


如果您可以一次性安装所有必需的依赖项软件包,也将花费相同的时间。

您正在尝试安装哪些依赖项?有可能其中一个或多个需要从源代码处编译。它们是像
请求
urllib3
这样的“普通包”,我尝试在本地安装它们,速度非常快。好的,我认为这很有意义。正如您所说,对于具有数十个工作节点的大型Compose环境。但对于处于“开发阶段”的Composer上的一个小部署来说,每次我需要一个新的依赖项时都要重新构建,这可能非常烦人。