无法从 conda env 中的 jupyter 服务器连接到 rust 内核

Cannot connect to rust kernel from a jupyter server in a conda env

我一直在尝试在专用的 conda 环境中为 Jupyter 服务器安装 Rust 内核,但出现错误。

微调步骤来自:
https://depth-first.com/articles/2020/09/21/interactive-rust-in-a-repl-and-jupyter-notebook-with-evcxr/

  1. conda create -n rusttest
  2. conda activate rusttest
  3. conda install -c conda-forge rust jupyterlab
  4. conda install -c anaconda cmake -y
  5. cargo install evcxr_jupyter
  6. $HOME/.cargo/bin 添加到我的 PATH 变量(导出 PATH)
  7. evcxr_jupyter --install(这里我已经看到内核安装在env外了)
  8. jupyter lab

内核在仪表板上可见,但是当我尝试用它启动笔记本时,连接失败,我得到:

Error: Failed to find sysroot for Cargo.toml file /tmp/.tmpbZ0Pkw/Cargo.toml. Is rust-src installed?

我手动试过:

jupyter kernelspec install {MY_PATH_DURING_PKG_INSTALLATION}/Jupyter/kernels/rust --sys-prefix

我得到:

[InstallKernelSpec] Installed kernelspec rust in {MY_PATH}/miniconda3/envs/rusttest/share/jupyter/kernels/rust

这似乎没问题(在正确的 conda 环境中)但错误仍然存​​在。

有没有什么方法可以只在那个环境中的这个 jupyter 服务器上添加一个工作内核?
(当我从另一个 conda 环境启动 jupyter lab 时,我希望 Rust 消失)

编辑

在深入研究之后,我认为第一件事是在那个 conda 环境中安装 rust-src...我不知道如何...

已解决:

我需要手动下载 https://static.rust-lang.org/dist/2022-05-19/rust-src-1.61.0.tar.gz 并将其解压到 env 目录下,以便 XXX/miniconda3/envs/rusttest/lib/rustlib/src/rust 存在。