在 CentOS 上安装 psycopg2 时遇到问题
Posted
技术标签:
【中文标题】在 CentOS 上安装 psycopg2 时遇到问题【英文标题】:Trouble installing psycopg2 on CentOS 【发布时间】:2011-06-16 19:19:47 【问题描述】:我正在尝试在 CentOS 上安装 psycopg2,我在此 tutorial 上的所有内容从“使用它:安装 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 -c "import psycopg2; print(psycopg2.__version__)" 【参考方案1】:你会想要的 ubuntu
sudo apt-get install python2.7-psycopg2
或者如果使用 python 3
sudo apt-get install python3-psycopg2
【讨论】:
不知道为什么这得到了一些反对——之前因为对其他 ubuntu 用户有用而被赞成 可能是因为 plpython 不是 psycopg2,它们是非常不同的东西 还有:问题是关于 CentOS,而不是关于 Ubuntu。 目前在-4 -- 最初是通过谷歌搜索关于 ubuntu 的,所以我想我会帮助下一个人 -- 还有 1 条评论要求删除它已经消失了......或者要求保留它【参考方案2】:我按照第一个答案安装python库:
yum install postgresql-lib
但它不起作用,所以我也做了一个 yum 安装的 devel 和 python:
yum install postgresql91-devel.x86_64
yum install postgresql91-python.x86_64
不确定是哪一个做的,但我猜是开发者。
【讨论】:
为什么是负 cmets?确实需要“postgresql-devel”! @Coaden 你应该使用“postgresql-libs”,末尾有一个“s” yum install postgresql-devel 是我在 centos 7 上也必须做的事情 postgresql-libs 是不够的。我刚试过。安装 postgresql-devel 后它工作了。 对我来说这是可行的: sudo yum install postgresql-devel 后跟 sudo pip install psycopg2【参考方案3】:-
忘记你的教程。
Install EPEL
yum install python-psycopg2
Django supports Python 2.4 很好。如果你真的需要 Python 2.6,你也可以使用 EPEL (yum install python26
) - 但目前还没有 psycopg2 包。
【讨论】:
在撰写本文时在 amz linux 上,第 3 步就足够了 经过几天的战斗,这就是答案。谢谢!【参考方案4】:psycopg2 是 PostgreSQL 库的 python 包装器,因此您也需要在系统上安装这些库。
由于您使用的是 CentOS,请尝试从命令行安装 postgre 库。
yum install postgresql-libs
【讨论】:
看起来 AWS 说“yum 没有 postgresql-libs”或“-lib” CentOS 6.2 说:“没有可用的软件包 postgresql-libs” 这是否需要 sudo 访问权限? @rohitsakala 很可能,是的。 在 CentOs 8.0 中你必须安装另一个软件包:dnf install postgresql-devel以上是关于在 CentOS 上安装 psycopg2 时遇到问题的主要内容,如果未能解决你的问题,请参考以下文章
在 ubuntu 14.04 上安装 psycopg2 的最佳方法
在 Mac OS 10.6 上安装 psycopg2 时出错