web-dev-qa-db-ja.com

CentOSでPython.hファイルが見つかりません

CentOSマシンでCで記述されたPython拡張機能をコンパイルしようとしています。

error: Python.h: No such file or directory

Apt-getを使用してpython-devをインストールしているubuntuで正常に動作します。

を使用してpython-develをインストールしてみました

yum install python-devel

しかし、すでにインストールされています。このエラーを修正するにはどうすればよいですか?

23
yzernik

私のシステムでは、Python.hヘッダーファイルは/usr/include/python2.6/パスにあります。このパスはデフォルトではプリプロセッサによって検索されないため、検索するパスのリストに追加する必要があります。これは、コンパイラの-Iオプションを使用して、次のように実行されます。

$ gcc -I/usr/include/python2.6 source.c -o program

上記のパスをシステム上の実際のパスに変更します。コメントで提案されている find コマンド、またはインストールされている場合は locate コマンドで見つけることができます。

10

Python3を使用している場合、python34-develをインストールできます

EPELリポジトリ で利用可能で、 python34-develパッケージ が利用可能

このコマンドを実行してインストールするだけです

yum install python34-devel

それが助けになることを願っています

* noteこの時点でpython34-develはpython 3の最新バージョンです

23
  • にとって CentOS 7.4
    • Python 3.6.6yum -y install python36-devel
    • Python 2yum -y install python-devel
  • Ubuntu
    • Python 3.6apt-get install libpython3.6-dev
2
crifan

インストールpython3.4(ピップを含む)&python3.4-dev Centos6.Xのパッケージ:

yum install http://dl.iuscommunity.org/pub/ius/stable/CentOS/6/x86_64/python34u-3.4.2-1.ius.centos6.x86_64.rpm
yum install http://dl.iuscommunity.org/pub/ius/stable/CentOS/6/x86_64/python34u-devel-3.4.2-1.ius.centos6.x86_64.rpm
0
gzerone

デフォルトPythonは2.7でしたが、pipは3.4に対して実行されていたため、2.7を使用したかったので、同様の問題が発生しました。yum remove python34-pipおよびyum install python2-pip

0
Scala William

私も同様の問題を抱えていました。

./python/py_defines.h:39:20:致命的なエラー:Python.h:そのようなファイルまたはディレクトリはありません

一方、findコマンドはpython.hが存在します。

上記のソリューションは機能しませんでしたが、以下のコマンドの実行は機能しました。

yum install python27-python-devel.x86_64

大した違いはないが、多くの時間を無駄にした。

0
departed

これは、Python持っています!

devパッケージ、Python XXXのバージョンXXX)が必要です。 https://centos.pkgs.org/7/iusで検索できます-x86_64

たとえば、IUSからPython 3.6.5がある場合、 https://centos.pkgs.org/7/ius-x86_64/python36u-devel- 3.6.5-1.ius.centos7.x86_64.rpm.html

0
Thomas Decaux