我曾经有一个简单的 bash 脚本,用于激活 conda env 然后运行 atom。然后,我可以使用hydrogen 运行python 代码,它可以自动查看myenv 中的包。
以前的 bash 脚本是这样的:
#!/bin/bash
source activate myenv &&
atom
由于 conda > 4.4 'source activate' 不再存在,我不得不将脚本修改为:
#!/bin/bash
source /home/ubuntu/miniconda3/etc/profile.d/conda.sh &&
conda activate myenv &&
atom
但是,hydrogen 不再检测 myenv 并从基本 env 运行代码,这会由于基本 env 中缺少包而导致错误。
当我用 spyder 替换 atom 时,上面的脚本工作正常,并且 spyder 内核确实看到了 myenv。
知道如何解决这个问题吗?
更新1:
我又做了一些调试。似乎我的 ipykernel 没有分配给安装在激活环境中的内核,而是分配给了默认的 ipykernel。
jupyter kernelspec list当我在我的激活环境中尝试时,我得到:
python3 /home/ubuntu/.local/share/jupyter/kernels/python3
但在另一个系统上,我得到
/home/ubuntu/miniconda3/envs/myenv/share/jupyter/kernels/python3
这似乎是正确的内核。
关于如何解决这个问题的任何想法?
更新 2:
这似乎解决了更新 1 中的问题。然后,我能够使用接受的答案在所需的环境中加载原子,并从该环境中的 ipykernel 运行氢气。