bokeh.plotting
の外にある関数を引き出すことができる多くの異なるサブモジュールがあるため、すべての関数にアクセスするためにインポートできる包括的なパッケージはありません。これを回避する方法の1つは、独自のサブパッケージを別々のファイルに作成して、メインファイルにアクセスしたいすべての機能をインポートすることです。たとえば、あなたがメインのスクリプトと同じディレクトリにあるファイル名my_bokeh.py
を作成することができ、および(例えば)以下の輸入に入れる:
from bokeh.models import Range1d,ResizeTool,HoverTool,ColorBar,LinearColorMapper,BasicTicker,Title,BoxSelectTool
from bokeh.models.widgets import TextInput
from bokeh.layouts import row,widgetbox
from bokeh.embed import components
from bokeh.models.callbacks import CustomJS
from bokeh.plotting import figure, show, output_file
今、あなたのメインのスクリプトでは、このサブをインポートすることができますパッケージ:
import my_bokeh as bpt
...
bpt.figure(x_range=bpt.Range1d(0,x-1,bounds='auto'),
y_range=bpt.Range1d(0,y-1,bounds='auto'),
plot_width=200, plot_height=200)
...
p.add_tools(bpt.ResizeTool())
...
bpt.show(p)
上記のスクリプトに見られるように、あなたはbpt
別名の下で各機能にアクセスすることができますし、あなたがきれいにあなたのメインスクリプトでimport文を維持することができます。
どちらの方法も問題ありません。「名前空間」は、あなたが入れたいものに関するもので、明示的にインポートを使って名前空間に何かを入れることが選択肢です。避けるべき主なものは、実際にインポートされているものについて混乱を招く可能性があるので、 '*'のインポートです。 – Amber
bokehでプロットすると、 'bokeh.plotting'に存在しない多くの異なるサブモジュールが使用されます。たとえば、 'bokeh.models'、' bokeh.layouts'、 'bokeh.models.widgets'などです。すべての新しい省略形を思いつくのではなく、通常、必要な機能だけをインポートします。 – tmwilson26
@ tmwilson26そうですね。おそらく、これは少し遠いですが、共通のエイリアスの下にすべてのボケのインポートを「バンドル」する方法がありますか? – Peter9192