【问题标题】:How can I run atom and hydrogen within a conda env using bash script?如何使用 bash 脚本在 conda env 中运行原子和氢?
【发布时间】:2019-11-16 07:25:29
【问题描述】:

我曾经有一个简单的 bash 脚本,用来激活 conda env 然后运行 ​​atom。然后,我可以使用 Hydro 运行 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:

this 似乎解决了更新 1 中的问题。然后,我能够使用接受的答案在所需的环境中加载原子,并从该环境中的 ipykernel 运行氢气。

【问题讨论】:

    标签: python ipython atom-editor conda hydrogen


    【解决方案1】:

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

    如果你只运行一个命令,试试

    conda run -n <envname> <command>
    

    可能首先获取配置文件。

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

    【讨论】:

    • 谢谢,但是当我尝试source activate myenv 时,我得到了bash: activate: No such file or directory。我将尝试其余的。
    • 我又做了一些调试。请参阅上面的更新。
    • 经过更多调试,发现this 解决了我的问题。现在 ipykernel 实际上已链接到 env 中的正确 ipykernel。
    • 感谢您的帮助。我使用上面的命令清理了 bash 文件。
    • “没有这样的文件或目录”可能是因为.../conda/bin/ 脚本不在您的搜索路径中。如有必要,您可以使用source .../conda/bin/activate &lt;envname&gt;
    猜你喜欢
    • 2022-11-12
    • 1970-01-01
    • 2019-04-02
    • 2018-03-07
    • 2020-05-24
    • 2021-08-23
    • 1970-01-01
    • 2022-01-05
    • 2018-01-31
    相关资源
    最近更新 更多