【发布时间】:2021-02-05 22:58:27
【问题描述】:
我想使用qsub 提交一个运行一些使用 Numpy 的 Python 代码的作业。 Numpy 安装在我登录集群时激活的 conda 虚拟环境中,如果我只需在 Python 命令行解释器中调用 import numpy 就可以导入它。
但是,当我使用 qsub 提交作业时,它会尝试在不使用该环境的情况下运行作业。经过一些测试,如果我使用 -V 选项传递所有变量,我似乎可以让 qsub 在正确的环境中运行。
但是,这会混淆脚本的其他部分。如果我可以只传递让qsub 在正确的环境中运行所需的内容,那就更好了。我该怎么做?
附: here 提出的解决方案对我不起作用;错误是Unable to locate a modulefile for 'numpy'。我假设它不在当前路径中,但我不确定它在哪里。
【问题讨论】:
-
您可以使用
conda run -n my_env python my_script.py在特定环境中运行脚本。这是你需要的吗? -
感谢您的建议!当时,无法识别命令
conda,因为它不在路径中。这已通过以下解决方案中的第一行修复。请原谅我不记得早点跟进。如果您的解决方案也有效,我不会感到惊讶。 -
这可能也可以通过在脚本中使用
#!/bin/bash -lshebang 来解决。