第2章 安装与配置

在本章中,我们将学习如何在不同平台上安装和配置Dask环境,包括使用pip、conda等包管理器进行安装,以及配置开发环境和验证安装。

2.1 安装前提条件

在安装Dask之前,需要确保系统满足以下要求:

  • Python版本:Python 3.7或更高版本
  • 包管理器:pip或conda
  • 依赖库:NumPy、Pandas等科学计算库
  • 系统资源:至少4GB内存(推荐8GB以上)

2.2 使用pip安装Dask

pip是最常用的Python包管理器,可以通过以下命令安装Dask:

# 安装最新版本的Dask
pip install dask

# 安装特定版本的Dask
pip install dask==2023.10.0

# 安装Dask及其所有可选依赖项
pip install "dask[complete]"

# 安装Dask与特定组件
pip install "dask[array,dataframe,delayed]"
                    

2.3 使用conda安装Dask

conda是另一个流行的包管理器,特别适合科学计算环境:

# 使用conda-forge频道安装Dask
conda install -c conda-forge dask

# 安装Dask及其所有依赖项
conda install -c conda-forge dask[complete]

# 创建新的conda环境并安装Dask
conda create -n dask-env -c conda-forge dask python=3.9
conda activate dask-env
                    

2.4 从源码安装Dask

如果需要最新的开发版本,可以从GitHub源码安装:

# 克隆Dask仓库
git clone https://github.com/dask/dask.git
cd dask

# 安装Dask
pip install -e .
                    

2.5 安装额外组件

Dask有多个可选组件,可以根据需要安装:

分布式计算组件

用于在多台机器上运行Dask:

pip install distributed

Bokeh可视化

用于可视化Dask任务图:

pip install bokeh

云存储支持

支持S3、GCS等云存储:

pip install s3fs gcsfs

2.6 验证安装

安装完成后,可以通过以下方式验证Dask是否正确安装:

import dask
print(dask.__version__)

# 导入Dask核心模块
import dask.array as da
import dask.dataframe as dd
from dask import delayed

# 创建简单的Dask数组
x = da.ones((1000, 1000), chunks=(100, 100))
print(x.sum().compute())

# 检查Dask配置
import dask.config
print(dask.config.config)
                    

2.7 配置开发环境

为了获得更好的开发体验,建议配置以下环境:

配置Jupyter Notebook

Dask与Jupyter Notebook集成良好,可以通过以下方式配置:

# 安装Jupyter
pip install jupyter

# 安装Dask Jupyter扩展
pip install dask-labextension

# 启动Jupyter Lab
jupyter lab
                    

配置IDE

推荐使用支持Python的IDE,如VS Code、PyCharm等,并安装以下扩展:

  • Python扩展
  • Jupyter扩展
  • 代码补全和语法高亮

2.8 环境变量配置

可以通过环境变量配置Dask的行为:

# 设置工作线程数
export DASK_NUM_WORKERS=4

# 设置临时目录
export DASK_TEMPORARY_DIRECTORY=/tmp/dask

# 设置内存限制
export DASK_MEMORY_LIMIT=4GB
                    

2.9 配置文件

Dask支持通过配置文件进行配置,配置文件可以是YAML格式:

# ~/.config/dask/dask.yaml
logging:
  distributed: info
  bokeh: critical
  tornado: critical

scheduler:
  work-stealing: True
  allowed-failures: 3

worker:
  memory:
    target: 0.6
    spill: 0.7
    pause: 0.8
    terminate: 0.95
                    

2.10 常见安装问题及解决方案

问题1:依赖冲突

解决方案:使用虚拟环境隔离依赖

python -m venv dask-env
source dask-env/bin/activate  # Linux/Mac
# 或
dask-env\Scripts\activate  # Windows
pip install dask
                        

问题2:权限不足

解决方案:使用--user参数或虚拟环境

pip install --user dask

问题3:网络连接问题

解决方案:使用国内镜像源

pip install -i https://pypi.tuna.tsinghua.edu.cn/simple dask

提示:建议在虚拟环境中安装Dask,以避免与其他Python项目产生依赖冲突。