【问题标题】:Semantic versioning in dask repositorydask 存储库中的语义版本控制
【发布时间】:2020-08-18 02:16:31
【问题描述】:

由于函数 read_metadata 与旧版本不兼容,为什么 the commit 7138f470f0e55f2ebdb7638ddc4dfe2e78671403 没有触发新的主要版本 dask?提交引入了 4 个值的返回,但旧版本仅返回 3 个。根据语义 versioning 这将是正确的行为。

cudf 被破坏了,因为那次提交。

问题代码:

>>> import cudf
>>> import dask_cudf
>>> dask_cudf.from_cudf(cudf.DataFrame({'a':[1,2,3]}),npartitions=1).to_parquet('test_parquet')

>>> dask_cudf.read_parquet('test_parquet')
Traceback (most recent call last):
  File "<stdin>", line 1, in <module>
  File "/nvme/0/vjawa/conda/envs/cudf_15_june_25/lib/python3.7/site-packages/dask_cudf/io/parquet.py", line 213, in read_parquet
    **kwargs,
  File "/nvme/0/vjawa/conda/envs/cudf_15_june_25/lib/python3.7/site-packages/dask/dataframe/io/parquet/core.py", line 234, in read_parquet
    **kwargs
  File "/nvme/0/vjawa/conda/envs/cudf_15_june_25/lib/python3.7/site-packages/dask_cudf/io/parquet.py", line 17, in read_metadata
    meta, stats, parts, index = ArrowEngine.read_metadata(*args, **kwargs)
ValueError: not enough values to unpack (expected 4, got 3)

dask_cudf==0.14 仅与 dask

编辑:Link to the issue

【问题讨论】:

    标签: python dependencies dask cudf


    【解决方案1】:

    虽然 Dask 没有关于版本字符串值的具体政策,但有人可能会争辩说,在这种特殊情况下,IO 代码是非核心的,并且主要由上游(pyarrow)开发而不是我们自己的开发推动主动性。

    我们很抱歉您的代码损坏了,但当然选择正确版本的包并期望下游包赶上来是开源生态系统的一部分。

    如果您希望获得更多 dask 维护团队的意见,您可能希望将此作为 github 问题提出。 (从 stackoverflow 的角度来看,这里没有太多要“回答”的地方)

    【讨论】:

    • 感谢您的快速响应!会做。以为我会先在这里问,以防我错过了什么。
    猜你喜欢
    • 2018-08-08
    • 1970-01-01
    • 1970-01-01
    • 2012-01-04
    • 1970-01-01
    • 2015-03-10
    • 2020-03-27
    • 2015-10-28
    • 2020-02-17
    相关资源
    最近更新 更多