我使用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,它仅依赖于标准库。如果您只需要任务计划程序,这是合适的。
所以我很困惑为什么这不起作用。
答案 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)
我遇到了同样的问题,这就是解决问题的原因。
pip install "dask[complete]"
:这将安装所有内容。您可能希望仅安装给定的组件(例如数据框),然后使用pip install "dask[dataframe]"
最重要的是,我必须处于虚拟环境中;这只会为此环境安装dask。
答案 2 :(得分:1)
就我而言,在Windows计算机上使用anaconda,以下是解决此问题的步骤:
答案 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
为我解决了这个问题。