💫

Ubuntu(WSL)でPython.hが見つからない問題

2021/05/14に公開

問題

gcc/g++でPython.hがincludeできない。

>> gcc mysrc.c
spam.c:2:10: fatal error: Python.h: No such file or directory
 #include <Python.h>
          ^~~~~~~~~~
compilation terminated.

解決策

  1. python3.x-devをインストールします。

python3-devではなく2桁目まで指定する必要があります。Python3.6の場合下記のようにします。

sudo apt install python3.6-dev
  1. Pythonのincludeパスを調べて指定します。

下記でPython.hの場所を調べます。

python3 -m sysconfig | grep INCLUDEPY

今回は/usr/local/python3.6というディレクトリの下にPython.hがあるので、コンパイル時にそのディレクトリを-Iオプションで指定します。

gcc -I /usr/local/python3.6 mysrc.c

Discussion