开发者问题收集

VersionMismatchWarning:发现不匹配的版本 - blosc

2020-05-14
1226

我无法在 Windows 上执行“pip install blosc”。我在 Windows 上使用 devop,并让我的工作人员和计划在带有 dask-docker 的 vm 上运行。有人有什么想法吗?似乎 dask 真的一直想要所有 Linux。

blosc +-----------------------+---------+ | | 版本 | +-----------------------+---------+ | 客户端 | 无 | | 调度程序 | 1.9.1 | | tcp://127.0.0.1:38323 | 1.9.1 | +-----------------------+---------+

(venv) D:\dev\code\datacrunch>pip install -U blosc 收集 blosc 使用缓存的 blosc-1.9.1.tar.gz (809 kB) 安装构建依赖项...完成 获取构建 wheel 的要求...完成 准备 wheel 元数据...完成 为收集的软件包构建 wheel:blosc 为 blosc 构建 wheel (PEP 517)...错误 错误:命令出错,退出状态为 1: 命令:'d:\dev\code\netsense.support\datacrunch\venv\scripts\python.exe' 'd:\dev\code\netsense.support\datacrunch\venv\lib\site-packages\pip_vendor\pep517_in_process.py' build_wheel 'C:\Users\H166631\AppData\Local\Temp\tmpwgt4t634' cwd: C:\Users\H166631\AppData\Local\Temp\pip-install-r1476vwy\blosc 完整输出(162 行): 未搜索命令行中给出的未使用变量。 -- C 编译器标识未知 CMakeLists.txt:3 (ENABLE_LANGUAGE) 处的 CMake 错误: 找不到 CMAKE_C_COMPILER。

2个回答

压缩必须在整个 dask 集群中匹配,并且由于您没有安装 blosc,因此会遇到一些问题。顺便说一句,有人努力改进 PR #3742 中的错误信息传递。我能想到两个解决方案:

  1. 切换到 conda 而不是 pip(尽管这对您来说可能行不通)
  2. 使用不同的压缩(您已安装或可以轻松安装在您的机器上的压缩)

对于 2. 您可以像下面这样以编程方式设置压缩:

In [1]: import dask

In [2]: import distributed

In [3]: dask.config.set({'distributed.comm.compression': 'lz4'})

或者在 CLI 上:

DASK_DISTRIBUTED__COMM__COMPRESSION=zlib dask-worker

或者使用 dask 配置文件。有关更多信息,我建议阅读: https://docs.dask.org/en/latest/configuration.html https://docs.dask.org/en/latest/configuration-reference.html#distributed.comm.compression

quasiben
2020-05-14

您始终可以不在您的 Linux 机器上安装 blosc。Dask 很乐意在 Windows 上运行。它甚至很乐意(在一定程度上)在 Windows 和 Linux 之间混合使用。但是,如果您的某些机器上有其他机器上没有的库,它就不会高兴。库的统一性是关键。

MRocklin
2020-05-23