安装python依赖包psycopg2来调用postgresql的操作
1、先安装psycopg2的依赖组件
本案例的操作系统为linuxredhat
在安装python依赖包psycopg之前,你必须需要先安装postgresql数据库的相关组件:
postgresql-devel,postgresql,postgresql-libs这三个组件比较重要。另外,可选组件:postgresql-server
安装上述组件之前,可以用命令来查看你的系统现在是否已经安装了相关组件:
[root@dthost27~]#rpm-qa|grepPostgreSQL
如果都没有安装,则可执行命令如下:
[root@dthost27~]#yuminstallpostgresql-devel
(安装过程中会顺带安装上postgresql和postgresql-libs组件)
2、安装psycopg2依赖包
保证依赖组件存在后,就可以使用pip命令安装了:
[root@dthost27~]#pipinstallpsycopg2-binary
注:这里安装的是binary格式的psycopg2依赖包,其实安装psycopg2也可以,但是有时候执行pipinstallpsycopg2会报错,而安装psycopg2-binary(编译后)则不会
启动python测试
importpsycopg2
补充:安装psycopg2报错_解决方案
报错信息
(python3-virtualenv)[root@vl-bg-anaylsis02extract_log]#pip3installpsycopg2
Collectingpsycopg2
Usingcachedpsycopg2-2.8.4.tar.gz(377kB)
ERROR:Commanderroredoutwithexitstatus1:
command:/disk2/extract_log/python3-virtualenv/bin/python3-c'importsys,setuptools,tokenize;sys.argv[0]='"'"'/tmp/pip-install-2d9wyu3k/psycopg2/setup.py'"'"';__file__='"'"'/tmp/pip-install-2d9wyu3k/psycopg2/setup.py'"'"';f=getattr(tokenize,'"'"'open'"'"',open)(__file__);code=f.read().replace('"'"'\r\n'"'"','"'"'\n'"'"');f.close();exec(compile(code,__file__,'"'"'exec'"'"'))'egg_info--egg-base/tmp/pip-install-2d9wyu3k/psycopg2/pip-egg-info
cwd:/tmp/pip-install-2d9wyu3k/psycopg2/
Completeoutput(23lines):
runningegg_info
creating/tmp/pip-install-2d9wyu3k/psycopg2/pip-egg-info/psycopg2.egg-info
writing/tmp/pip-install-2d9wyu3k/psycopg2/pip-egg-info/psycopg2.egg-info/PKG-INFO
writingdependency_linksto/tmp/pip-install-2d9wyu3k/psycopg2/pip-egg-info/psycopg2.egg-info/dependency_links.txt
writingtop-levelnamesto/tmp/pip-install-2d9wyu3k/psycopg2/pip-egg-info/psycopg2.egg-info/top_level.txt
writingmanifestfile'/tmp/pip-install-2d9wyu3k/psycopg2/pip-egg-info/psycopg2.egg-info/SOURCES.txt'
Error:pg_configexecutablenotfound.
pg_configisrequiredtobuildpsycopg2fromsource.Pleaseaddthedirectory
containingpg_configtothe$PATHorspecifythefullexecutablepathwiththe
option:
pythonsetup.pybuild_ext--pg-config/path/to/pg_configbuild...
orwiththepg_configoptionin'setup.cfg'.
Ifyouprefertoavoidbuildingpsycopg2fromsource,pleaseinstallthePyPI
'psycopg2-binary'packageinstead.
Forfurtherinformationpleasecheckthe'doc/src/install.rst'file(alsoat
).
----------------------------------------
ERROR:Commanderroredoutwithexitstatus1:pythonsetup.pyegg_infoCheckthelogsforfullcommandoutput.
解决方案Forubuntu
sudoapt-getinstalllibpq-devpython3-dev
解决方案ForFedora/Centos
yuminstall-ypostgresql10 yuminstallpostgresql-libspython3-develpostgresql-devel yuminstallgcc
以上为个人经验,希望能给大家一个参考,也希望大家多多支持毛票票。如有错误或未考虑完全的地方,望不吝赐教。