Python 2:
sudo apt-get install python-dev
Python 3:
sudo apt-get install python3-dev
题
我正在编译psycopg2并收到以下错误:python.h:没有这样的文件或目录
如何编译它,Ubuntu12 x64。
解决方案
Python 2:
sudo apt-get install python-dev
Python 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
. 。您可以通过
sudo apt-get安装python-dev
如Psycopg文档中所述 http://initd.org/psycopg/docs/install.html
Psycopg是Libpq Postgresql客户库库周围的C包装器。要从来源安装它,您需要:
它们通常安装在包装中,例如 python-dev 消息错误这样: python.h:没有这样的文件或目录 表明您错过了提到的Python标题。
您如何解决?首先,如果您不使用虚拟环境,则需要检查在虚拟设想中或系统本身中安装的Python版本。您可以通过:
python --version
之后,您应该安装在虚拟env或系统上安装的相同的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
在软呢帽,redhat或centos上
Python 2:
sudo yum install python-devel
Python 3:
sudo yum install python3-devel
根据Pipenv文件所需的Python版本,您需要安装相应的DEV文件。
我遇到了这个错误,默认的Python版本为3.8,但是PipEnv文件需要Python3.9版本。因此,我安装了Python3.9 Dev。
$ sudo apt install python3.9-dev