Dask 安装

如何安装 Dask

您可以使用 condapip 或从源代码安装 Dask。

如果您使用 Anaconda 发行版,Dask 将默认安装。

您也可以使用 conda install 命令安装或升级 Dask

conda install dask

这将安装 Dask 和所有常用依赖,包括 pandas 和 NumPy。Dask 包在默认通道和 conda-forge 上都有维护。您可以使用 -c 标志选择通道

conda install dask -c conda-forge

或者,您可以使用以下命令获取最小化的 Dask 安装

conda install dask-core

这将安装运行 Dask 所需的最小依赖集,类似于(但不完全相同)python -m pip install dask

使用 pip 安装 Dask 运行以下命令

python -m pip install "dask[complete]"    # Install everything

这将安装 Dask、分布式调度器以及 pandas、Numpy 等常用依赖。

您也可以只安装 Dask 库而不安装可选依赖

python -m pip install dask                # Install only core parts of dask

Dask 模块如 dask.arraydask.dataframedask.distributed 在您安装相应的 NumPy、pandas 或 Tornado 之前将无法工作。这对用户来说不常见,但对下游库的维护者来说更常见。

我们也维护了针对不同功能子集的其他依赖项集合

python -m pip install "dask[array]"       # Install requirements for dask array
python -m pip install "dask[dataframe]"   # Install requirements for dask dataframe
python -m pip install "dask[diagnostics]" # Install requirements for dask diagnostics
python -m pip install "dask[distributed]" # Install requirements for distributed dask

我们提供这些选项,以便轻量级核心 Dask 调度器的用户无需下载集合中更特殊的依赖项(如 Numpy、pandas, Tornado 等)。

要从源代码安装 Dask,请从 GitHub 克隆仓库

git clone https://github.com/dask/dask.git
cd dask
python -m pip install .

您也可以安装所有依赖项

python -m pip install ".[complete]"

您可以在 pyproject.tomlproject.optional-dependencies 字段中查看所有依赖项的列表。

或者使用 -e 标志进行开发者安装(参见开发指南中的安装部分

python -m pip install -e .

分布式部署

要在分布式集群上运行 Dask,您还需要安装与您的资源管理器(如 Kubernetes、SLURM、PBS、LSF、AWS、GCP、Azure 或类似技术)相匹配的 Dask 集群管理器。

更多关于此主题的信息请参阅部署文档

可选依赖

Dask 中的特定功能可能需要额外的可选依赖。例如,从 Amazon S3 读取需要 s3fs。这些可选依赖及其最低支持版本列在下方。

依赖项

版本

描述

bokeh

>=3.1.0

生成 Dask 执行配置文件(dask.diagnostics 所需)

bottleneck

>=1.3.7

用于 dask 数组的 push 实现

cachey

>=0.1.1

使用缓存进行计算

cityhash

>=0.2.4

使用 CityHash 和 FarmHash 哈希函数进行数组哈希(比 MurmurHash 快约 2 倍)

crick

>=0.0.5

使用 tdigest 内部方法计算 dataframe 统计信息

cytoolz

>=0.11.2

内部迭代器、函数和字典的更快 cython 实现

dask-ml

>=1.4.0

使用 Dask 扩展的常用机器学习函数

fastavro

>=1.1.0

存储和读取 Apache Avro 文件中的数据

gcsfs

>=2021.9.0

存储和读取 Google Cloud Storage 中的数据

graphviz

>=0.8.4

使用 graphviz 引擎进行图可视化

h5py

>=3.4.0

将数组数据存储到 hdf5 文件中

ipycytoscape

>=1.0.1

使用 cytoscape 引擎进行图可视化

IPython

>=7.30.1

将使用 graphviz 引擎生成的图可视化写入文件

jinja2

>=2.10.3

Dask 对象在 Jupyter notebook 中的 HTML 表示(dask.diagnostics 所需)

lz4

>=4.3.2

透明使用 lz4 压缩算法

matplotlib

>=3.5.0

图可视化的颜色映射支持

mimesis

>=5.3.0

使用 dask.datasets.make_people() 生成随机 bag 数据

mmh3

>=3.0.0

使用 MurmurHash 哈希函数进行数组哈希(比 SHA1 快约 8 倍)

numpy

>=1.24

dask.array 所需

pandas

>=2.0

dask.dataframe 所需

psutil

>=5.8.0

将 CPU 亲和性计入 CPU 计数,读取 CSV 文件时智能推断块大小

pyarrow

>=14.0.1

存储/读取 Apache ORC 或 Parquet 文件时对 Apache Arrow 数据类型 & 引擎的支持

python-snappy

>=0.6.0

存储/读取 Avro 或 Parquet 文件时使用的 Snappy 压缩 (bs)

s3fs

>=2021.9.0

存储和读取位于 Amazon S3 中的数据

scipy

>=1.7.2

dask.array.statsdask.array.fftdask.array.linalg.lu() 所需

sparse

>=0.13.0

使用 sparse 数组作为 dask 数组的后端

sqlalchemy

>=1.4.26

写入和读取 SQL 数据库

tblib

>=1.6.0

worker 回溯对象的序列化

tiledb

>=0.12.0

存储和读取 TileDB 文件中的数据

xxhash

>=2.0.0

使用 xxHash 哈希函数进行数组哈希(比 MurmurHash 快约 2 倍,比 CityHash 略慢)

zarr

>=2.12.0

存储和读取 Zarr 文件中的数据

测试

使用 py.test 测试 Dask

cd dask
py.test dask

简单地安装 Dask 可能不会默认安装所有必需项(参见上面的 pip 部分)。您可以选择安装 dask[complete] 版本,该版本包含所有集合的所有依赖项

pip install "dask[complete]"

或者,您可以根据环境中的库选择只测试某些子模块。例如,要只测试 Dask 核心和 Dask 数组,我们可以按如下方式运行测试

py.test dask/tests dask/array/tests

更多详细信息请参见开发指南中的测试部分