私は Dask を次のようにpipを使用してインストールしました:
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
ドキュメント の状態に気づきました
pip install dask
:標準ライブラリのみに依存するdaskのみをインストールします。これは、タスクスケジューラのみが必要な場合に適しています。
なぜこれがうまくいかなかったのか混乱しています。
Daskの並列化されたデータフレーム(パンダの上に構築された)を使用するには、 Daskのインストールドキュメント で説明されているように、pipに「エクストラ」( 参照 )をインストールするように指示する必要があります。 =:
pip install "dask[dataframe]"
または、あなたはただ行うことができます
pip install "dask[complete]"
トリックの袋全体を手に入れるため。 NB:二重引用符はシェルで必要な場合と必要でない場合があります。
これの正当性はDaskのドキュメントで言及されています(または言及されていました)。
これを行うのは、軽量コアdaskスケジューラのユーザーが、コレクションのよりエキゾチックな依存関係(numpy、pandasなど)をダウンロードする必要がないようにするためです。
Obinna's answer で述べたように、virtualenv内でこれを実行するか、管理者権限がない場合はpip install --user
を使用してライブラリをホームディレクトリに配置できます。ホストOSに。
Dask 0.13.0以下では、dask/async.py
内の toolz 'identity
関数に対する要件がありました。有る オープン GitHubに関連付けられたクローズされたプルリクエスト issue#1849 この依存関係を削除します。 その間 何らかの理由で古いバージョンのdaskが表示されない場合は、pip install toolz
を実行するだけでthat特定の問題を回避できます。
しかし、これでimport dask.dataframe as dd
の問題が(完全に)修正されるわけではありません。まだthisエラーが発生するため:
>>> 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
を取得します。したがって、この状況ではpip install "dask[dataframe]"
が適しています。
私はこれと同じ問題を抱えていて、これが私のためにそれを修正したものでした。
pip install "dask[complete]"
:すべてをインストールします。データフレームなどの特定のコンポーネントのみをインストールしてから、pip install "dask[dataframe]"
肝心なことは、私は自分の仮想環境にいなければならないということでした。これにより、この環境にのみdaskがインストールされます。
requirements.txtが機能しています:
awscli==1.16.69
botocore=1.13.0
boto3==1.9.79
numpy==1.16.2
dask[complete]
conda install dask
conda install dask-core
私のために問題を解決しました。