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

时间:2017-01-03 22:38:27

标签: python installation pip importerror dask

我使用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,它仅依赖于标准库。如果您只需要任务计划程序,这是合适的。

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

6 个答案:

答案 0 :(得分:12)

在Dask 0.13.0及以下版本中,要求toolz&#39; identity内的dask/async.py功能。 打开与GitHub issue #1849关联的关闭拉取请求,以消除此依赖关系。 与此同时如果由于某种原因,您遇到了旧版本的dask,只需执行pip install toolz即可解决 特定问题。< / p>

但是,无论如何,这都不会(完全)修复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

或者如果您已经安装了pandas,那么您将获得ImportError: No module named cloudpickle。如此。

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

pip install "dask[dataframe]"

或者你可以做到

pip install "dask[complete]"

获得整套技巧。 注意:shell中可能需要也可能不需要双引号。

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

  

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

答案 1 :(得分:1)

我遇到了同样的问题,这就是解决问题的原因。

  1. 为您的项目创建虚拟环境
  2. 放入您的项目目录(如果您擅长使用目录导航,则不需要)
  3. 激活您的虚拟环境
  4. pip install "dask[complete]":这将安装所有内容。您可能希望仅安装给定的组件(例如数据框),然后使用pip install "dask[dataframe]"

最重要的是,我必须处于虚拟环境中;这只会为此环境安装dask。

答案 2 :(得分:1)

就我而言,在Windows计算机上使用anaconda,以下是解决此问题的步骤:

  1. conda安装达人
  2. conda安装dask-core
  3. 基于 github评论!pip install tornado==5.0.0 distributed==2.15 dask-ml[complete]
  4. 重新启动我的蟒蛇。

答案 3 :(得分:1)

使用下面的命令。

pip install "dask[dataframe]"

答案 4 :(得分:0)

requeriments.txt正常工作:

awscli==1.16.69
botocore=1.13.0
boto3==1.9.79
numpy==1.16.2
dask[complete]

答案 5 :(得分:0)

conda install dask
conda install dask-core

为我解决了这个问题。