在 CentOS 上安装 psycopg2 时遇到问题

问题描述 投票:0回答:5

我正在尝试在 CentOS 上安装 psycopg2,我按照本 tutorial 中的所有内容从“On with it:安装 Python 2.6”一直到导入 psycopg2,但是当我尝试导入时出现以下错误:

 Traceback (most recent call last):
  File "<stdin>", line 1, in <module>
  File "/opt/python2.6/lib/python2.6/site-packages/psycopg2/__init__.py", line 69, in <module>
    from _psycopg import BINARY, NUMBER, STRING, DATETIME, ROWID
ImportError: libpq.so.5: cannot open shared object file: No such file or directory

如何解决这个问题?

python postgresql installation centos psycopg2
5个回答
25
投票

psycopg2 是 PostgreSQL 库的 python 包装器,因此您也需要在系统上安装这些库。

由于您使用的是 CentOS,请尝试从命令行安装 postgre 库。

yum install postgresql-libs


23
投票
  1. 忘记你的教程。
  2. 安装EPEL
  3. yum 安装 python-psycopg2

Django支持Python 2.4就好了。如果你确实需要 Python 2.6,你也可以使用 EPEL (

yum install python26
) - 但还没有 psycopg2 包。


4
投票

我按照第一个答案安装 python 库:

yum install postgresql-lib

但它不起作用,所以我还对 devel 和 python 进行了 yum 安装:

yum install postgresql91-devel.x86_64
yum install postgresql91-python.x86_64

不确定是哪一个做的,但我猜是开发者做的。


0
投票

我遇到了同样的问题,卸载 PostgreSQL 后

python-psycopg2
消失了,并且
yum install python-psycopg2
不再找到该包。这是我再次安装的方法。

首先,安装

pgdg-redhat
yum 存储库:

yum install -y https://download.postgresql.org/pub/repos/yum/reporpms/EL-6-x86_64/pgdg-redhat-repo-latest.noarch.rpm

这将创建文件

/etc/yum.repos.d/pgdg-redhat-all.repo
,其中列出了许多存储库(其中大多数似乎已损坏)。
python-psycopg2
的唯一来源似乎是
pgdg11
存储库:

[pgdg11]
name=PostgreSQL 11 for RHEL/CentOS $releasever - $basearch
enabled=0
baseurl=https://download.postgresql.org/pub/repos/yum/11/redhat/rhel-$releasever-$basearch
gpgcheck=1
gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-PGDG

现在您可以通过显式启用包含该包的存储库来安装该包:

yum install python-psycopg2 --enablerepo=pgdg11

-4
投票

对于 ubuntu,你会想要

sudo apt-get install python2.7-psycopg2

或者如果使用 python 3

sudo apt-get install python3-psycopg2

© www.soinside.com 2019 - 2024. All rights reserved.