簡體   English   中英

psycopg:Python.h:沒有那個文件或目錄

[英]psycopg: Python.h: No such file or directory

我正在編譯 psycopg2 並收到以下錯誤: Python.h:沒有這樣的文件或目錄

如何編譯它,Ubuntu12 x64。

蟒蛇2:

sudo apt-get install python-dev

蟒蛇3:

sudo apt-get install python3-dev

這是一個依賴問題。

我在 Ubuntu 上使用apt-get解決了這個問題。 用適合您系統的包管理器替換它。

對於任何當前的 Python 版本:

sudo apt-get install python-dev

對於替代 Python 版本:

sudo apt-get install python<version>-dev

例如 3.5 作為替代:

sudo apt-get install python3.5-dev

如果您查看 PostgreSQL 的常見問題頁面 ( http://initd.org/psycopg/docs/faq.html ),您會看到他們建議安裝 pythons 開發包,通常稱為python-dev 您可以通過安裝

須藤 apt-get 安裝 python-dev

正如 psycopg 文檔中提到的http://initd.org/psycopg/docs/install.html

Psycopg 是圍繞 libpq PostgreSQL 客戶端庫的 C 包裝器。 要從源安裝它,您需要:

  • C編譯器
  • Python 頭文件

它們通常安裝在諸如python-dev 之類的包中,出現消息錯誤,例如: Python.h: no such file or directory表明您錯過了提到的 python 頭文件。

你怎么能解決它? 首先,如果您沒有使用虛擬環境,您需要檢查在您的虛擬環境或系統本身中安裝了哪個 python 版本。 您可以通過以下方式檢查您的python版本:

python --version 

之后,您應該安裝與您的虛擬環境或系統上安裝的相同的 python-dev 版本。 例如,如果你使用python3.7你應該安裝

apt-get install python3.7-dev 

希望我的回答對大家有幫助

雖然這里的所有答案都是正確的,但它們無論如何都無法正常工作:

- sudo apt-get install python3-dev 
- sudo apt-get install python3.5-dev
- etc ..

當您使用 python3.8、python3.9 或未來版本時將不適用

我建議改用確定性方式:

sudo apt install python3-all-dev

在 Fedora、Redhat 或 centos 上

蟒蛇2:

    sudo yum install python-devel

蟒蛇3:

    sudo yum install python3-devel

根據您的 pipenv 文件所需的 python 版本,您需要安裝相應的 dev 文件。

我收到了這個錯誤,我的默認 python 版本是 3.8,但是 pipenv 文件需要 Python3.9 版本。 所以我安裝了python3.9 dev。

$sudo apt install python3.9-dev

如果以上建議的答案均無效,請嘗試對我有用。

sudo apt-get install libpq-dev

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM