如何使用bash脚本在conda env中运行atom和hydrogen?

2024-04-26 14:45:37 发布

您现在位置:Python中文网/ 问答频道 /正文

我曾经有一个简单的bash脚本,用来激活conda env,然后运行atom。然后,我可以使用hydrogen运行python代码,hydrogen可以自动看到myenv中的包。你知道吗

以前的bash纸条是这样的:

#!/bin/bash

source activate myenv && 
atom

因为conda>;4.4“源代码激活”已经不存在了,我不得不将脚本修改为:

#!/bin/bash

source /home/ubuntu/miniconda3/etc/profile.d/conda.sh &&
conda activate myenv &&
atom

但是,hydrogen不再检测myenv,而是从base env运行代码,结果由于base env中缺少包而出错。你知道吗

当我用spyder替换atom时,上面的脚本运行良好,spyder内核确实可以看到myenv。你知道吗

你知道我该怎么修吗?你知道吗

更新1:

我做了更多的调试。似乎我的ipykernel没有分配给在激活的环境中安装的内核,而是分配给默认的ipykernel。你知道吗

当我在activate env中尝试jupyter kernelspec list时,我得到:

python3    /home/ubuntu/.local/share/jupyter/kernels/python3

但在另一个系统上,我

/home/ubuntu/miniconda3/envs/myenv/share/jupyter/kernels/python3

这似乎是正确的内核。你知道吗

你知道怎么解决这个问题吗?你知道吗

更新2:

似乎this解决了更新1中的问题。然后,我就可以用公认的答案将原子装入所需的环境中,并让氢从该环境中的ipykernel流出。你知道吗


Tags: env脚本bashhome环境ubuntujupyter内核
1条回答
网友
1楼 · 发布于 2024-04-26 14:45:37

source activate仍然像以前一样工作,尽管它不再是激活环境的首选方式。你知道吗

如果您只运行一个命令,请尝试

conda run -n <envname> <command>

可能先找到资料。你知道吗

我没有试过,但一个潜在的问题是,在获取概要文件之后,您正在使用&&。我假设在您编写问题时,行继续字符(\)在那里丢失了。只需将命令写入单独的行中,以便在bash处理下一个命令之前加载概要文件。你知道吗

相关问题 更多 >