[英]jupyter notebook - check if magic is available
我試圖使用ipykernel.comm在javascript中調用python命令。 問題是我想使用相同的代碼,無論我運行python3內核還是pyspark3內核。 對於后者,我需要使用%% local cell magic運行代碼,這對於純python 3內核不起作用。
如何以編程方式檢查給定(前端)魔法是否可用?
我試着查看get_ipython().magics_manager.registry
但我覺得這不是問題。 我試着看一下前端(javascript),但我也找不到它。
我想也許sparkmagic的來源會幫助我,但沒有運氣。 我不知道如何訪問IPython.CodeCell.config_defaults
sparkmagic的kernel.js
而不是檢查命令是否可用,您只需使用它並捕獲異常(如果不支持)。
例:
from IPython.core.error import UsageError
try:
%%local
except UsageError:
print("Magic %%local not support in this kernel")
您可以通過以下方式獲得可用的魔法:
from IPython import get_ipython
line_magics = list(get_ipython().magics_manager.magics.get('line'))
cell_magics = list(get_ipython().magics_manager.magics.get('cell'))
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.