开发者安装#

核心的Jupyter Widgets包是在 jupyter-widgets/ipywidgets git仓库中开发的。

前置条件#

要从git安装ipywidgets,您需要:

使用Conda安装#

conda create -c conda-forge -n ipywidgets yarn notebook jupyterlab
conda activate ipywidgets
ipython kernel install --name ipywidgets --display-name "ipywidgets" --sys-prefix
git clone https://github.com/jupyter-widgets/ipywidgets.git
cd ipywidgets
./dev-install.sh

使用pip安装#

要使用pip将python ipywidgets包以可编辑方式安装到用户站点目录,请导航至子文件夹python/ipywidgets,使用

cd python/ipywidgets

然后运行

pip install --prefix=$(python -m site --user-base) -e .

使用pip install --user -e .将无法正常工作,这是因为pip中存在一个错误。更多详情请参阅https://github.com/pypa/pip/issues/7953。

进行更改后重新构建#

要构建并测试更改,请在ipywidgets存储库根目录中运行以下命令,清空浏览器的缓存,然后刷新页面。

    yarn clean
    yarn build

如果你的更改只涉及一个包(例如,仅限widgetsnbextension包),则仅在该特定目录中运行 yarn build 可能就足够了。

提示与故障排除#

  • 如果您在上述安装过程中遇到任何问题,请确保 npm 和 pip 相关安装目录的权限设置正确。

  • 有时,通过从克隆存储库的根目录运行git clean -dfx来清除缓存文件也会有所帮助。

  • 当你对Javascript进行更改却未看到变化时,可能是浏览器缓存过于积极。尝试清除浏览器缓存。也可尝试使用“隐身”或“隐私”浏览标签页来避免缓存。

  • 如果排查升级及其构建问题,您可能需要执行以下流程:

    • 深度清理克隆的仓库:

      git clean -dfx .
      
    • 移除 conda 目录内文件名中包含 widgetsnbextension 的任何项目

    • 尝试重新安装 ipywidgets

更新小部件模型规范#

要使用变更更新小部件模型规范,请在仓库根目录中执行类似以下操作:

python ./packages/schema/generate-spec.py -f json-pretty packages/schema/jupyterwidgetmodels.latest.json
python ./packages/schema/generate-spec.py -f markdown packages/schema/jupyterwidgetmodels.latest.md

发布新版本#

查看 dev_release.md 了解如何发布新版本的 ipywidgets 至 PyPI 和 jupyter-widgets-controls 到 npm 的详细信息。

测试#

请参阅 dev_testing.md 了解如何运行 Python 和 Javascript 测试的详细信息。

构建文档#

请参阅dev_docs.md获取有关如何构建文档的详细信息。