Dask的默认pip安装提供“ImportError:No module named toolz”

问题描述 投票:10回答:3

我使用像这样的pip安装了Dask

pip install dask

当我尝试做import dask.dataframe as dd时,我收到以下错误消息:

>>> import dask.dataframe as dd
Traceback (most recent call last):
  File "<stdin>", line 1, in <module>
  File "/path/to/venv/lib/python2.7/site-packages/dask/__init__.py", line 5, in <module>
    from .async import get_sync as get
  File "/path/to/venv/lib/python2.7/site-packages/dask/async.py", line 120, in <module>
    from toolz import identity
ImportError: No module named toolz
No module named toolz

我注意到the documentation

pip install dask:仅安装dask,它仅依赖于标准库。如果您只需要任务计划程序,这是合适的。

所以我很困惑为什么这不起作用。

python installation pip importerror dask
3个回答
13
投票

在Dask 0.13.0及以下,toolz中有identity'dask/async.py函数的要求。有 一个开放的 与GitHub issue #1849关联的关闭拉取请求,以消除此依赖关系。 同时 如果由于某种原因,你被困在旧版本的dask中,你可以通过简单地执行pip install toolz来解决这个特定问题。

但无论如何,这都不会(完全)修复import dask.dataframe as dd的问题。因为你仍然会收到此错误:

>>> import dask.dataframe as dd
Traceback (most recent call last):
  File "<stdin>", line 1, in <module>
  File "/data/staff_agbio/PhyloWeb/data/dask-test/venv/local/lib/python2.7/site-packages/dask/dataframe/__init__.py", line 3, in <module>
    from .core import (DataFrame, Series, Index, _Frame, map_partitions,
  File "/data/staff_agbio/PhyloWeb/data/dask-test/venv/local/lib/python2.7/site-packages/dask/dataframe/core.py", line 12, in <module>
    import pandas as pd
ImportError: No module named pandas

或者如果你已经安装了熊猫,你会得到ImportError: No module named cloudpickle。所以。

为了使用Dask的并行化数据帧(构建在pandas之上),你必须告诉pip安装一些“extras”(reference),如Dask installation documentation中所述:

pip install "dask[dataframe]"

或者你可以这样做

pip install "dask[complete]"

得到一大堆技巧。注意:shell中可能需要也可能不需要双引号。

Dask文档中还提到了对此的理由:

我们这样做是为了让轻量级核心dask调度程序的用户不需要下载集合中更具异国情调的依赖项(numpy,pandas等)


1
投票

我有同样的问题,这就是为我解决的问题。

  1. 为您的项目创建虚拟环境
  2. cd你的项目目录(如果你的目录导航很好,则不需要)
  3. 激活你的虚拟环境
  4. pip install "dask[complete]":这将安装一切。您可能希望只安装一个给定的组件,如dataframe,然后使用pip install "dask[dataframe]"

底线是我必须在我的虚拟环境中;这将仅为此env安装dask。


0
投票

working requirements.txt:

awscli==1.16.69
botocore=1.13.0
boto3==1.9.79
numpy==1.16.2
dask[complete]
© www.soinside.com 2019 - 2024. All rights reserved.