我目前运行Google的作曲家版本2.0.9和气流版本2.1.4。我正在尝试安装dbt的最新版本(核心是1.0.4,BigQuery插件是1.0.0 )。因为云组合映像已经安装了特定的包,所以我遇到了相互冲突的PyPI依赖问题。当我试图修复一个依赖项时,会出现另一个问题。有人知道安装了哪些特定的软件包来解决这个问题吗?我已经阅读了社区的以下文章,但我想知道是否有人有使用作曲家的解决方案?
发布于 2022-04-20 11:55:56
我能复制你所看到的行为。下面是我在云构建日志中看到的依赖冲突。这些冲突发生在dbt-core需求和Composer中预先安装的软件包需求之间。
预装软件包要求
hologram 0.0.14 has requirement jsonschema<3.2,>=3.0, but you have jsonschema 3.2.0. ##=> can be installed manually
flask 1.1.4 has requirement click<8.0,>=5.1, but you have click 8.1.2.
apache-airflow 2.1.4+composer has requirement markupsafe<2.0,>=1.1.1, but you have markupsafe 2.0.1.
looker-sdk 22.4.0 has requirement typing-extensions>=4.1.1, but you have typing-extensions 3.10.0.2.dbt-核心需求
hologram 0.0.14 has requirement jsonschema<3.2,>=3.0, but you have jsonschema 3.2.0. ##=> can be installed manually
dbt-core 1.0.4 has requirement click<9,>=8, but you have click 7.1.2.
dbt-core 1.0.4 has requirement MarkupSafe==2.0.1, but you have markupsafe 1.1.1.
dbt-core 1.0.4 has requirement typing-extensions<3.11,>=3.7.4, but you have typing-extensions 4.1.1.我试着降低预装包的级别,但是后续的包安装失败了,这也是不建议。
因此,我建议使用您所链接的这条线中所述的外部解决方案。引用了“元瑞恩在这里的回答”中提出的解决办法。
发布于 2022-04-20 19:40:10
正如@Kabilan所提到的,dbt的当前版本(1.0.4)和最近版本的Composer存在依赖问题(Composer版本2.0.9和气流版本2.1.4)。因此,需要另一种解决办法。在我的例子中,我四处游玩,并从社区中的其他人那里寻找解决方案,发现有一个人使用的是某个版本的Composer和dbt,它们只存在模拟依赖问题。然而,正如@Kabilan所提到的,Google并不建议降低预装软件包的等级,因此这对生产中的某些产品来说并不是一个可行的解决方案。
通过gcloud创建composer,以使用通过Composer UI不可用的旧版本
gcloud composer environments create my_airflow_dbt_example
--location us-central1
--image-version composer-1.17.9-airflow-2.1.4要求
dbt-bigquery==0.21.0
jsonschema==3.1.1
packaging==20.9对于这个特定的编写器版本,您要将jsonschema从3.2.0降为3.1.1,将packaging从21.3降为20.9。
https://stackoverflow.com/questions/71899387
复制相似问题