在Ubuntu上使用mpi4py时未找到pyconfig.h

2 投票
2 回答
4150 浏览
提问于 2025-04-18 13:52

我正在尝试在一个Ubuntu服务器上安装MPI和mpi4py,以便测试一些我在Mac上运行的Python代码。我是从源代码安装的OpenMPI,然后下载了mpi4py的压缩包,试着运行python setup.py build,但是失败了,出现了以下错误:

src/mpi4py.MPI.c:8:22: fatal error: pyconfig.h: No such file or directory

#include "pyconfig.h"

                  ^

compilation terminated.

error: command '/usr/local/bin/mpicc' failed with exit status 1

我还尝试通过运行 sudo apt-get install libcr-dev mpich2 mpich2-doc来安装MPICH,然后再运行setup,但还是出现了同样的错误。

我在网上搜索了很久,但还是没找到解决办法。

我是不是在我的PATH中缺少了某个目录?

补充:经过进一步搜索,似乎pyconfig.h应该在/usr/include/python2.7/这个目录下。在我的Mac上是有的,但是当我在Ubuntu服务器上运行ls 这个目录时,发现里面没有pyconfig.h。这可能就是问题所在吗?

2 个回答

0

不知道这个信息现在是否还适用,但对于将来遇到这个问题的人,记得用下面的命令安装正确版本的python-dev:

sudo apt-get install python<version>-dev

举个例子,如果你在虚拟环境中使用的是python3.5,而你电脑上默认的python版本是2.7,单纯输入:

sudo apt-get install python-dev

是没用的,而输入:

sudo apt-get install python3.5-dev

就能解决这个问题。

8

我发现我需要安装python-dev这个东西。

这里有一个我找到的链接,它解决了缺少pyconfig.h的问题。

希望这能在将来帮助到某个人!

撰写回答