Bokehプロジェクトには、Bokehパケットソースコード(Pythonで書かれている)とBokehJSクライアントライブラリ(TypeScriptで書かれている)の2つの主要コンポーネントが含まれています。したがって,Bokehの開発はJavaScriptを展開可能な明示的なコンパイル手順を生成するためにやや複雑である.
したがって,ソースコードからBokehを開発するためには,まずBoehJSを構築できる必要がある.本章では,完全な開発環境の設定を指導する.
予選.
ジット!
孔達.
クローンリポジトリ
Conda環境の作成
ノードパケットのインストール
Gitの構成
Git Hooks
Git別名
建設と設置
サンプルデータをダウンロードする
次の手順
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
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 目次を呼ぶ 源サイン. 本文書の残りの部分にある.
bokeh
Bokehの買い戻しには1つが含まれています environment.yml CONDA環境というファイルの作成に使用可能 bkdev 基本Bokeh開発に必要なすべてのソフトウェアパッケージが含まれています。
bkdev
リポジトリのトップレベルでは、端末で以下のコマンドが発行されます。
conda env create environment.yml
そして、環境を活性化するためには、以下の操作を実行してください。
conda activate bkdev
BokehJSの構築にはNode package Managerを用いてJavaScript依存項を実装する必要がある.上記の説明通りに操作すると conda 必要なものをインストールしました npm そして node.js 小包をあなたのシステムに送ります。
npm
node.js
Bokehは通常、最新の主要バージョンが必要に更新されます。 npm 建てるために。最新バージョンをグローバルにインストールする場合は、従 源サイン. ディレクトリは、以下のコマンドを実行します。
cd bokehjs npm install -g npm
グローバルなインストールを望まない場合(すなわち使用) -g )そして次のすべての npm コマンドはインストールを使用するために調整する必要があります bokehjs/node_modules それがそうです。
-g
bokehjs/node_modules
次は、まだいます bokehjs サブディレクトリでは、以下のコマンドを実行して、すべてのBokehJS JavaScript依存項をインストールします。
bokehjs
npm ci
このコマンドは、必要なパッケージをインストールする node_modules サブカタログです。
node_modules
通常、1回目の設定時には、これらの説明に沿って1回だけでよい。しかし,依存項を追加したり変更したりする可能性があり,この場合には,再びこれらの説明に従う必要がある.
ローカルでいくつかの構成を行うことができ、これらの構成は、リポジトリをより安全かつ容易に使用するのに役立ちます。
本節のオプションの説明は,特定のものである OSX そして Linux それがそうです。
いくつかの意外な誤りを防ぐために,ここには有用なgitフックがある可能性がある.次のスクリプトは .git/hooks トップレベルのサブディレクトリです 源サイン. ディレクトリを使用して、例えば chmod +x pre-commit それがそうです。Gitフックに関するより多くの情報は、参照されたい this tutorial それがそうです。
.git/hooks
chmod +x pre-commit
pre-commit
このgitフックは、コミットの継続実行を許可する前に、すべてのライブラリテストを実行する。このリンクを正常に動作させるためには、すべての標準テスト依存項をインストールしなければならないことに注意してください。 #!/bin/bash pytest tests/codebase exit $?
この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フックは事故を防ぐことができます master GitHubにあります
master
#!/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
他にもいくつかの有用な別名が追加されています .gitconfig ホームディレクトリにあるファイルです。
.gitconfig
次の別名は一つ追加しました git resolve コマンドは、任意の統合競合を解決するためにエディタを自動的に開きます。
git resolve
[alias] resolve = !sh -c 'vim -p $(git status -s | grep "^UU" | cut -c4-)'
交換できます vim あなたが一番好きなエディタコマンドが何であっても。
vim
必要なすべての依存項を実装すると,BokehとBokehJSを構築.実装する最も簡単な方法は用いることである. setup.py オブジェクトのトップレベルのスクリプト 源サイン. カタログです。
setup.py
♪the setup.py スクリプトには2つの主な操作モードがある:
python setup.py install
BokehはPythonにインストールされます site-packages カタログです。このモードでは、pythonソースコードの変更は表示されません。 setup.py install もう一度走ることです。
site-packages
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ブラウザを開きます。
iris.html
変数 BOKEH_RESOURCES Bokehに必要なCSSとJavaScriptリソースの位置を決定する.指定することで inline 我々は,リソースをHTML文書の一部に内部接続した先に構築したBokehJSバージョンを用いた.♪the BOKEH_RESOURCES 変数は必須項であり,デフォルトアクションはCDN資源を使用するためである.
BOKEH_RESOURCES
inline
Bokehを実行するもう1つの方法はサーバとすることである.この動作モードの例は、以下のコマンドを使用して実行することができる。
python -m bokeh serve --show examples/app/sliders.py
これはインタラクティブなグラフィックスを持つブラウザを開くだろう。
すべてのスライダは正弦波を交互に制御することを許可し,更新のたびに新しいパラメータを用いて直線を再描画する.♪the --show オプションがWebブラウザを対応するアドレスに開くと、デフォルト値は localhost:5006 それがそうです。
--show
localhost:5006
ここの手順に何か問題がありましたら、どうぞ contact the developers それがそうです。