我编译了下一个代码:
#include <mpi.h>
#include <stdio.h>
int main(int argc, char* argv[]) {
int rank, size, len;
char host[MPI_MAX_PROCESSOR_NAME];
MPI_Init(&argc, &argv);
MPI_Finalize();
return 0;
}
Run Code Online (Sandbox Code Playgroud)
我是这样做的:
mpic++ -o test test.cpp
Run Code Online (Sandbox Code Playgroud)
然后我尝试运行该文件:
mpirun -np 2 test
Run Code Online (Sandbox Code Playgroud)
但发生了错误:
PMIx 检测到临时目录名称导致路径对于 Unix 域套接字来说太长:
临时目录:/var/folders/12/k2b2579s1yz2cfl8ppb1c6m80000gn/T/openmpi-sessions-501@MacBook-Air-Alexander-2_0/22793
尝试将 TMPDIR 环境变量设置为指向长度较短的内容
所以我这样做了:
export TMPDIR=/tmp
Run Code Online (Sandbox Code Playgroud)
再次尝试运行: mpirun -np 2 test
但是出现了另一个错误:
主要作业正常终止,但返回了 1 个进程
非零退出代码每个用户方向,作业已中止
mpirun 检测到一个或多个进程以非零状态退出,从而导致作业终止。这样做的第一个过程是:
进程名称:[[22798,1],0]
退出代码:1
请告诉我,我应该怎么做才能运行这段代码?
我有以下问题。我通过conda install rpy2在我的 virtualenv 中安装了 rpy2 。现在,如果我运行,我可以在终端中导入这个包
>>> python
>>> import rpy2
Run Code Online (Sandbox Code Playgroud)
但是,如果我尝试在 jupyter notebook 中导入 rpy2,则会出现错误ModuleNotFoundError: No module named 'rpy2'。如果我运行以下代码
import sys
print(sys.prefix)
Run Code Online (Sandbox Code Playgroud)
我明白了/anaconda3。另外,如果我通过终端做同样的事情:python->import sys -> print(sys.prefix)我得到/anaconda3/envs/work_python36. 如果我which python在终端中运行,我将获得:/anaconda3/envs/work_python36/bin/python. 我尝试PYTHONPATH使用导出进行更改,但没有奏效。如果有人知道如何解决这个问题,请告诉我。
我还打印了以下内容 conda info -a
active environment : work_python36
active env location : /anaconda3/envs/work_python36
shell level : 1
user config file : /Users/alex/.condarc
populated config files :
conda version : 4.5.12
conda-build version : …Run Code Online (Sandbox Code Playgroud)