[英]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 包裝器。 要從源安裝它,您需要:
它們通常安裝在諸如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.