設置を開始する

Bokehプロジェクトには、Bokehパケットソースコード(Pythonで書かれている)とBokehJSクライアントライブラリ(TypeScriptで書かれている)の2つの主要コンポーネントが含まれています。したがって,Bokehの開発はJavaScriptを展開可能な明示的なコンパイル手順を生成するためにやや複雑である.

したがって,ソースコードからBokehを開発するためには,まずBoehJSを構築できる必要がある.本章では,完全な開発環境の設定を指導する.

予選.

ジット!

Bokehソースコードは Git ソースコードはリポジトリを管理します。Bokehを用いた最初のステップは,システム上にGitを実装することである.Windows、OSX、Linuxのどちらを使っているのかによって、それができる方法があります。

Gitはどのプラットフォームにもインストールされていますので、ご参照ください Installing Git 部分 Pro Git Book それがそうです。

孔達.

Bokehを開発するには、Pythonパッケージではないソフトウェアパッケージ(例えば、Selenium、NodeJSなど)をインストールする必要があります。管理を容易にするために,コア開発者は大きく依存している. conda package manager 無料の Anaconda Python発行版です。しかし conda また、Bokeh開発を大幅に簡略化するのに役立ちます非Pythonパケット依存項をインストールすることができます。そうなんです。 強烈である. Bokehを開発している人にも使うことをお勧めします conda 残りの命令は仮定します conda はい使えます。

Condaはどのプラットフォームにもインストールされていますので、ご参照ください Anaconda Installers 部分的に位置する Anaconda Individual Edition ペイジ。

クローンリポジトリ

Bokehプロジェクトのソースコードは GitHub. マスタ·データベースをクローンするためには、以下のコマンドを発行してください。

git clone https://github.com/bokeh/bokeh.git

注釈

Active@bokeh/dev貢献者は、完全なCIテストの自動化が成功することを保証するために、マスタソースリポジトリをクローンすべきである。

新しい貢献者や一時的な貢献者は彼らのクローンを要求されました bokeh source repository それがそうです。派生とクローンGithubリポジトリをご覧ください Fork a repo 第1節 GitHub Help それがそうです。

これは bokeh ファイルシステムの位置にあるディレクトリです。これが…。 bokeh 目次を呼ぶ 源サイン. 本文書の残りの部分にある.

Conda環境の作成

Bokehの買い戻しには1つが含まれています environment.yml CONDA環境というファイルの作成に使用可能 bkdev 基本Bokeh開発に必要なすべてのソフトウェアパッケージが含まれています。

リポジトリのトップレベルでは、端末で以下のコマンドが発行されます。

conda env create environment.yml

そして、環境を活性化するためには、以下の操作を実行してください。

conda activate bkdev

ノードパケットのインストール

BokehJSの構築にはNode package Managerを用いてJavaScript依存項を実装する必要がある.上記の説明通りに操作すると conda 必要なものをインストールしました npm そして node.js 小包をあなたのシステムに送ります。

Bokehは通常、最新の主要バージョンが必要に更新されます。 npm 建てるために。最新バージョンをグローバルにインストールする場合は、従 源サイン. ディレクトリは、以下のコマンドを実行します。

cd bokehjs
npm install -g npm

グローバルなインストールを望まない場合(すなわち使用) -g )そして次のすべての npm コマンドはインストールを使用するために調整する必要があります bokehjs/node_modules それがそうです。

次は、まだいます bokehjs サブディレクトリでは、以下のコマンドを実行して、すべてのBokehJS JavaScript依存項をインストールします。

npm ci

このコマンドは、必要なパッケージをインストールする node_modules サブカタログです。

注釈

通常、1回目の設定時には、これらの説明に沿って1回だけでよい。しかし,依存項を追加したり変更したりする可能性があり,この場合には,再びこれらの説明に従う必要がある.

Gitの構成

ローカルでいくつかの構成を行うことができ、これらの構成は、リポジトリをより安全かつ容易に使用するのに役立ちます。

注釈

本節のオプションの説明は,特定のものである OSX そして Linux それがそうです。

Git Hooks

いくつかの意外な誤りを防ぐために,ここには有用なgitフックがある可能性がある.次のスクリプトは .git/hooks トップレベルのサブディレクトリです 源サイン. ディレクトリを使用して、例えば chmod +x pre-commit それがそうです。Gitフックに関するより多くの情報は、参照されたい this tutorial それがそうです。

pre-commit

このgitフックは、コミットの継続実行を許可する前に、すべてのライブラリテストを実行する。このリンクを正常に動作させるためには、すべての標準テスト依存項をインストールしなければならないことに注意してください。

#!/bin/bash

pytest tests/codebase
exit $?

pre-push

このGitフックは事故を防ぐことができます master GitHubにあります

#!/bin/bash

protected_branch='master'
current_branch=$(git symbolic-ref HEAD | sed -e 's,.*/\(.*\),\1,')

if [ $protected_branch = $current_branch ]
then
    read -p "You're about to push master, is that what you intended? [y|n] " -n 1 -r < /dev/tty
    echo
    if echo $REPLY | grep -E '^[Yy]$' > /dev/null
    then
        exit 0 # push will execute
    fi
    exit 1 # push will not execute
else
    exit 0 # push will execute
fi

Git別名

他にもいくつかの有用な別名が追加されています .gitconfig ホームディレクトリにあるファイルです。

次の別名は一つ追加しました git resolve コマンドは、任意の統合競合を解決するためにエディタを自動的に開きます。

[alias]
    resolve = !sh -c 'vim -p $(git status -s | grep "^UU" | cut -c4-)'

交換できます vim あなたが一番好きなエディタコマンドが何であっても。

建設と設置

必要なすべての依存項を実装すると,BokehとBokehJSを構築.実装する最も簡単な方法は用いることである. setup.py オブジェクトのトップレベルのスクリプト 源サイン. カタログです。

♪the setup.py スクリプトには2つの主な操作モードがある:

python setup.py install

BokehはPythonにインストールされます site-packages カタログです。このモードでは、pythonソースコードの変更は表示されません。 setup.py install もう一度走ることです。

python setup.py develop

Bokehはソースディレクトリを参照するためにインストールされます。Pythonソースコードに対するどんな変更もすぐに利用できますので、追加のステップを必要としません。

いずれのモードにおいても、システムは、例えば、BokehJSのインストール方法を提示する。

python setup.py develop

Bokeh includes a JavaScript library (BokehJS) that has its own
build process. How would you like to handle BokehJS:

1) build and install fresh BokehJS
2) install last built BokehJS from bokeh/bokehjs/build

Choice?

適切なコマンドラインオプションを提供することで、このプロンプトをスキップすることができます setup.py 例えば、:

  • python setup.py develop --build-js

  • python setup.py develop --install-js

BokehJSのソースコードが変更されるたびに(GitHubから新しい改訂バージョンが引き出されたり)場合には、BoehJSを構築する必要があります。特に、あなたは少なくとも最初のインストール時にBokehJSを構築しなければなりません。

注釈

JavaScript依存項リストも変化する場合がある.このような状況が発生した場合、再稼働する必要があります ノードパケットのインストール 文節をつける。

サンプルデータをダウンロードする

いくつかのテストと例がBokehのサンプルデータを提供することを要求している。Bokehのインストール後、サンプルデータを取得する最も簡単な方法は、BashまたはWindowsプロンプトで以下のコマンドを実行することです。

bokeh sampledata

ダウンロード位置を構成したり、プログラム方式でダウンロードを開始したりしてもよい。詳細についてはご参照ください サンプルデータ ユーザガイドの部分。

次の手順

以下のコマンドを実行することで、すべてのコンテンツが正しくインストールされているかどうかを確認することができます。

python -m bokeh info

以下のような出力が見られるはずです。

Python version      :  3.8.3 | packaged by conda-forge | (default, Jun  1 2020, 17:21:09)
IPython version     :  7.15.0
Tornado version     :  6.0.4
Bokeh version       :  2.0.2-95-g8e0b447c0-dirty
BokehJS static path :  /Users/bryan/work/bokeh/bokeh/server/static
node.js version     :  v14.4.0
npm version         :  6.14.5

次の実行可能なチェックは、いくつかの例を実行することである。Bokehは様々な用例に異なる方法で適応することができる.

HTMLファイルを作成するには、以下の操作を実行してください。

BOKEH_RESOURCES=inline python examples/plotting/file/iris.py

ファイルを作成します iris.html ローカルでWebブラウザを開きます。

../../_images/bokeh_iris_html.png

変数 BOKEH_RESOURCES Bokehに必要なCSSとJavaScriptリソースの位置を決定する.指定することで inline 我々は,リソースをHTML文書の一部に内部接続した先に構築したBokehJSバージョンを用いた.♪the BOKEH_RESOURCES 変数は必須項であり,デフォルトアクションはCDN資源を使用するためである.

Bokehを実行するもう1つの方法はサーバとすることである.この動作モードの例は、以下のコマンドを使用して実行することができる。

python -m bokeh serve --show examples/app/sliders.py

これはインタラクティブなグラフィックスを持つブラウザを開くだろう。

../../_images/bokeh_app_sliders.png

すべてのスライダは正弦波を交互に制御することを許可し,更新のたびに新しいパラメータを用いて直線を再描画する.♪the --show オプションがWebブラウザを対応するアドレスに開くと、デフォルト値は localhost:5006 それがそうです。

ここの手順に何か問題がありましたら、どうぞ contact the developers それがそうです。