在Jupyter的Deno内核中导入skia_canvas失败,寻求解决办法
解决Deno Jupyter内核启用FFI等权限的方法
方法1:修改Deno内核配置文件
Deno Jupyter内核安装后会生成配置文件,直接修改它来添加权限参数:
- 找到配置文件路径:
Linux/macOS 通常在~/.local/share/jupyter/kernels/deno/kernel.json,Windows 在%APPDATA%\jupyter\kernels\deno\kernel.json - 打开文件,修改
argv数组,在deno run后追加所需参数:
注意替换{ "argv": [ "deno", "run", "--unstable", "--allow-ffi", "--allow-env", "--allow-read", "--allow-write", "--allow-net", "/实际路径/deno_jupyter_kernel.js" ], "display_name": "Deno", "language": "javascript" }/实际路径/deno_jupyter_kernel.js为文件中原本的正确路径。
方法2:重新安装内核时指定默认参数
如果允许重新安装内核,直接在安装命令中绑定权限参数:
deno jupyter --unstable --install --kernel-args="--unstable --allow-ffi --allow-env --allow-read --allow-write --allow-net"
安装完成后,内核启动会自动带上这些参数。
方法3:单元格临时声明权限(仅部分场景有效)
在Notebook单元格开头尝试声明权限,但这种方式对依赖FFI的模块可能无效(模块导入时权限已确定):
Deno.permissions.request({ name: "ffi" }); Deno.permissions.request({ name: "env" });
优先推荐前两种方法,尤其是方法1,直接修改内核配置是最可靠的解决方案。
内容的提问来源于stack exchange,提问作者Sergiu
相关产品推荐
相关产品推荐

