Bokeh项目开发环境配置指南

Bokeh项目开发环境配置指南

bokeh bokeh/bokeh: 是一个用于创建交互式图形和数据的 Python 库。适合用于数据可视化、数据分析和呈现,以及创建动态的 Web 应用。特点是提供了一种简洁、直观的 API 来描述和处理数据,并生成交互式的可视化效果。 bokeh 项目地址: https://gitcode.com/gh_mirrors/bo/bokeh

概述

Bokeh是一个强大的Python交互式可视化库,它由两个主要组件构成:Python源代码和BokehJS客户端库(TypeScript编写)。要参与Bokeh项目开发,需要配置完整的开发环境。本文将详细介绍从零开始搭建Bokeh开发环境的完整流程。

基础准备

1. 安装必要工具

在开始之前,需要确保系统已安装以下工具:

  • Git版本控制系统:用于代码版本管理
  • Conda包管理器:推荐使用Anaconda或Miniconda,它能同时管理Python和非Python依赖

对于初学者,建议:

  • 从Git官网下载最新版Git
  • 安装Anaconda发行版,它包含了conda和Python环境

2. 获取源代码

获取Bokeh源代码的步骤:

  1. 创建个人fork仓库
  2. 克隆仓库到本地:
    git clone https://github.com/<your-username>/bokeh.git
    
  3. 添加上游仓库:
    git remote add upstream https://github.com/bokeh/bokeh.git
    git fetch upstream
    

环境配置

3. 创建Conda开发环境

Bokeh项目提供了预配置的环境文件,位于conda/目录下。创建环境的命令示例:

conda env create -n bkdev -f conda/environment-test-3.10.yml

激活环境:

conda activate bkdev

4. 安装Node.js依赖

BokehJS需要Node.js环境:

  1. 进入bokehjs目录:
    cd bokehjs
    
  2. 安装npm最新版:
    npm install --location=global npm
    
  3. 安装项目依赖:
    npm ci
    

5. 设置Git预提交钩子

Bokeh使用pre-commit进行代码质量检查:

python scripts/hooks/install.py

这会自动在提交时运行代码风格检查。

本地构建与安装

6. 安装开发版本

推荐使用可编辑模式安装:

pip install -e .

这种模式下,Python代码的修改会立即生效,无需重新安装。

对于BokehJS的修改,需要重新运行安装命令以重新构建。

环境变量配置

7. 关键环境变量

开发时最重要的环境变量是BOKEH_RESOURCES,它控制BokehJS的加载方式:

  • absolute-dev:从本地静态目录加载未压缩资源
  • inline:将JS资源内联到HTML中
  • server-dev:通过本地Bokeh服务器加载

设置示例:

export BOKEH_RESOURCES=inline

8. 开发模式快捷设置

BOKEH_DEV=true可一次性设置多个开发选项:

export BOKEH_DEV=true

这会启用调试日志、美化输出等开发功能。

环境验证

9. 测试安装

运行基本信息检查:

python -m bokeh info

运行示例程序:

BOKEH_RESOURCES=inline python examples/basic/data/transform_markers.py

测试Bokeh服务器:

BOKEH_DEV=false python -m bokeh serve --show examples/server/app/sliders.py

常见问题

  1. BokehJS修改不生效:确保重新运行pip install -e .并正确设置BOKEH_RESOURCES
  2. 依赖变更:当conda环境文件或package.json更新时,需要重新创建环境和安装依赖
  3. 预提交检查失败:根据控制台输出修正代码风格问题

总结

本文详细介绍了Bokeh项目开发环境的完整配置流程。正确配置环境是参与Bokeh开发的第一步,后续可以在此基础上进行功能开发和问题修复。开发过程中要特别注意Python和BokehJS两部分的协调,以及环境变量的正确设置。

bokeh bokeh/bokeh: 是一个用于创建交互式图形和数据的 Python 库。适合用于数据可视化、数据分析和呈现,以及创建动态的 Web 应用。特点是提供了一种简洁、直观的 API 来描述和处理数据,并生成交互式的可视化效果。 bokeh 项目地址: https://gitcode.com/gh_mirrors/bo/bokeh

创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

咎鲲才

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值