如何为 Python 3.x 安装 psycopg2?

Posted

技术标签:

【中文标题】如何为 Python 3.x 安装 psycopg2?【英文标题】:How do I install psycopg2 for Python 3.x? 【发布时间】:2014-01-18 17:46:52 【问题描述】:

几天前刚开始使用 Python,我正在使用 PyCharm 使用 Django 开发 Web 应用程序。我已经安装了 libpq-dev python-dev 软件包,但它仍然给我同样的错误:

./psycopg/psycopg.h:30:20: fatal error: Python.h: No such file or directory

根据 Google 的说法,这是未安装 python-dev 软件包时发生的问题。请注意,我正在从 PyCharm 界面中为我为 3.2 和 3.3 创建的 virtualenv 运行安装(不确定如何从终端运行它)。即使我使用 setup.py 从终端安装它,在 virtualenv 之外安装仍然会引发相同的错误。如果我从终端运行 pip install psycopg2 ,它会成功,但它会为 Python 2.7 安装。根据他们的网站,他们最多支持 Python 3.2。

【问题讨论】:

【参考方案1】:

在 Ubuntu 上你只需要运行这个:

sudo apt-get install python3-psycopg2

【讨论】:

不幸的是,当我运行它时,这给了我一个旧版本的 psycopg2。要么是这样,要么由于某种原因它缺少一些额外的东西。【参考方案2】:

只需使用终端运行:

$ sudo apt-get install python3-dev

这样,您可以使用 gcc 来构建您尝试使用的模块。

【讨论】:

如果你仔细阅读我的帖子,你会注意到我说我已经安装了 libpq-dev 和 python-dev 包,它适用于 Python 2.7,但不适用于 3.x。 在 Ubuntu 上给出:ImportError: No module named 'ConfigParser' 如果对其他人有帮助,如果您有多个 Python3 版本,您可能需要更加具体。例如。 sudo apt-get install python3.7-dev【参考方案3】:

另一个似乎提供比python3-psycopg2 包中的更新版本的 psycopg2 的选项(至少在我写这篇文章时):

sudo apt-get install pip3
sudo apt-get install libpq-dev
sudo pip3 install psycopg2

【讨论】:

以上是关于如何为 Python 3.x 安装 psycopg2?的主要内容,如果未能解决你的问题,请参考以下文章

如何为 PyPI 组织 Python 模块以支持 2.x 和 3.x

如何为 Spyder 安装 python 包

python 安装PostgreSQL 模块:psycopg2

如何为 Python 安装 OpenSSL

如何为 python 安装 OpenCV

如何为python安装不同版本的模块