web-dev-qa-db-ja.com

psycopg:Python.h:そのようなファイルやディレクトリはありません

Psycopg2をコンパイルしていると、次のエラーが発生します:Python.h:そのようなファイルまたはディレクトリはありません

コンパイル方法、Ubuntu12x64。

28
user2957539

Python 2:

Sudo apt-get install python-dev

Python 3:

Sudo apt-get install python3-dev
43
Michal Wegorek

これは依存関係の問題です。

apt-getを使用してUbuntuでこの問題を解決しました。システムに適したパッケージマネージャーに置き換えてください。

現在のPythonバージョン:

Sudo apt-get install python-dev

代替の場合Pythonバージョン:

Sudo apt-get install python<version>-dev

たとえば、代替として3.5:

Sudo apt-get install python3.5-dev
10
I159

postgreSQLのよくある質問のページ( http://initd.org/psycopg/docs/faq.html )を見ると、通常はpython-devと呼ばれるpythons開発パッケージのインストールを推奨していることがわかります。 。経由でインストールできます

Sudo apt-get install python-dev

8
erdimeola

Psycopgのドキュメントに記載されているように http://initd.org/psycopg/docs/install.html

Psycopgは、libpqPostgreSQLクライアントライブラリのCラッパーです。ソースからインストールするには、次のものが必要です。

  • Cコンパイラ
  • Pythonヘッダーファイル

これらは通常、python-devなどのパッケージにインストールされます:Python.h:そのようなファイルはありませんまたはdirectoryは、言及されたpythonヘッダーを見逃したことを示します。

どうすれば修正できますか?まず最初に、仮想環境にインストールされているpythonバージョン、または仮想環境を使用しなかった場合はシステム自体にインストールされているバージョンを確認する必要があります。pythonバージョンを確認するには、 :

python --version 

その後、仮想環境またはシステムにインストールしたものと同じpython-devバージョンをインストールする必要があります。たとえば、python3.7を使用する場合は、インストールする必要があります

apt-get install python3.7-dev 

私の答えが誰かに役立つことを願っています