![](/img/trans.png)
[英]How can I schedule a python script inside a conda env to run every n minutes?
[英]How can I run atom and hydrogen within a conda env using bash script?
我曾经有一个简单的 bash 脚本,用于激活 conda env 然后运行 atom。 然后,我可以使用氢运行 python 代码,它可以自动查看 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
但是,氢不再检测 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中的问题,那么,我能在ENV使用公认的答案负载原子所需的ENV中,并有氢跑从ipykernel。
source activate
仍然像以前一样工作,尽管它不再是激活环境的首选方式。
如果您只运行一个命令,请尝试
conda run -n <envname> <command>
可能首先采购配置文件。
我还没有尝试过,但一个潜在的问题是您在获取配置文件后使用&&
。 我假设当你写这个问题时,行继续符( \\
)在那里丢失了。 只需将命令写入单独的行,以便在bash 处理下一个命令之前加载配置文件。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.