python - 在交互式 qsub 环境中使用 mpirun 激活虚拟环境

标签 python virtualenv openmpi hpc qsub

我在项目中使用 openmdao 0.13 python 模块。此模块仅可用作 virtualenv。当我激活虚拟环境时,它似乎只在一个节点上激活。什么可以解释这种奇怪的行为?为什么非主节点上的处理器无法加载 virtualenv?

$ mpirun --version
mpirun (Open MPI) 1.7.3
$ qsub --version
Version: 5.1.1.2
$ qsub -V -I -l nodes=2:ppn=24
$ cd openmdao-0.10.3.2/
$ . bin/activate
$ mpirun -np 24 python -c "import openmdao"
# no errors
$ mpirun -np 27 python -c "import openmdao"
Traceback (most recent call last):
  File "<string>", line 1, in <module>
ImportError: No module named openmdao
Traceback (most recent call last):
  File "<string>", line 1, in <module>
ImportError: No module named openmdao
Traceback (most recent call last):
  File "<string>", line 1, in <module>
ImportError: No module named openmdao

看起来我所有的处理器都正确引用了 python

$ mpirun -np 27 which python
/home/jquick/here_it_is/openmdao-0.10.3.2/bin/python
/home/jquick/here_it_is/openmdao-0.10.3.2/bin/python
/home/jquick/here_it_is/openmdao-0.10.3.2/bin/python
/home/jquick/here_it_is/openmdao-0.10.3.2/bin/python
/home/jquick/here_it_is/openmdao-0.10.3.2/bin/python
/home/jquick/here_it_is/openmdao-0.10.3.2/bin/python
/home/jquick/here_it_is/openmdao-0.10.3.2/bin/python
/home/jquick/here_it_is/openmdao-0.10.3.2/bin/python
/home/jquick/here_it_is/openmdao-0.10.3.2/bin/python
/home/jquick/here_it_is/openmdao-0.10.3.2/bin/python
/home/jquick/here_it_is/openmdao-0.10.3.2/bin/python
/home/jquick/here_it_is/openmdao-0.10.3.2/bin/python
/home/jquick/here_it_is/openmdao-0.10.3.2/bin/python
/home/jquick/here_it_is/openmdao-0.10.3.2/bin/python
/home/jquick/here_it_is/openmdao-0.10.3.2/bin/python
/home/jquick/here_it_is/openmdao-0.10.3.2/bin/python
/home/jquick/here_it_is/openmdao-0.10.3.2/bin/python
/home/jquick/here_it_is/openmdao-0.10.3.2/bin/python
/home/jquick/here_it_is/openmdao-0.10.3.2/bin/python
/home/jquick/here_it_is/openmdao-0.10.3.2/bin/python
/home/jquick/here_it_is/openmdao-0.10.3.2/bin/python
/home/jquick/here_it_is/openmdao-0.10.3.2/bin/python
/home/jquick/here_it_is/openmdao-0.10.3.2/bin/python
/home/jquick/here_it_is/openmdao-0.10.3.2/bin/python
/home/jquick/here_it_is/openmdao-0.10.3.2/bin/python
/home/jquick/here_it_is/openmdao-0.10.3.2/bin/python
/home/jquick/here_it_is/openmdao-0.10.3.2/bin/python

我不明白是什么导致了这个导入错误。 bin/activate 对我的主节点有什么影响,但对辅助节点没有影响?

最佳答案

在开始 qsub 作业之前激活 virtualenv 为我解决了这个问题

关于python - 在交互式 qsub 环境中使用 mpirun 激活虚拟环境,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35645066/

相关文章:

Python 3 "virtualenv not recognized"

linux - 在集群上以 sudo 权限运行 MPI 程序

c++ - 使用 OpenMPI 创建 HDF5 文件和数据集

python - 从文件中读取行而不在末尾附加 "\n"

python - Scrapy:如何从其他 python 脚本运行 spider 两次或更多次?

python - Windows virtualenv 不为 django 切换 python

python - 带有 AWS codebuild : why the deactivate command is not found? 的 Virtualenv python

mpi - 使用 mpirun 执行我的程序,性能下降很多

python - 在 pandas groupby 操作中计算唯一元素并总结值

python - 为什么 Fore.BLUE 使文本以随机字符开头而不是使文本为蓝色?