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.arraydask.dataframedask.distributed 这样的 Dask 模块,在你分别安装 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.toml 文件的 project.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``所需)

cachey

>=0.1.1

使用缓存进行计算

cityhash

>=0.2.4

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

crick

>=0.0.5

使用 tdigest 内部方法进行数据框统计计算

cytoolz

>=0.11.2

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

dask-expr

dask.dataframe 必需;固定到特定 Dask 版本

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

Jupyter笔记本中Dask对象的HTML表示(``dask.diagnostics``所需)

lz4

>=4.3.2

透明使用 lz4 压缩算法

matplotlib

>=3.5.0

图形可视化的颜色映射支持

mimesis

>=5.3.0

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

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 压缩

s3fs

>=2021.9.0

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

scipy

>=1.7.2

对于 dask.array.statsdask.array.fftdask.array.linalg.lu() 是必需的

sparse

>=0.13.0

使用稀疏数组作为 dask 数组的后端

sqlalchemy

>=1.4.26

从SQL数据库写入和读取

tblib

>=1.6.0

工作线程回溯对象的序列化

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

有关更多详细信息,请参阅开发指南中的 测试部分