Python 3.x 无法将PostgreSQL与Python3.6连接,但与Python2.7使用相同的代码。出人意料
我试图在Windows上使用Python连接到PostgreSQL数据库,但使用Python 3.6失败,否则在Python 2.7中会成功,其余代码必须在3.6中运行,因此,这就是不更改为旧版本的原因 尝试了不同的方法:我尝试删除端口实例,将连接输入作为变量传递,我没有包括“conn.autocommit=True”。。。不走运 我也尝试过使用pip3安装psycopg2二进制文件: 但是,当我跑步时,问题依然存在Python 3.x 无法将PostgreSQL与Python3.6连接,但与Python2.7使用相同的代码。出人意料,python-3.x,windows,postgresql,connection,psycopg2,Python 3.x,Windows,Postgresql,Connection,Psycopg2,我试图在Windows上使用Python连接到PostgreSQL数据库,但使用Python 3.6失败,否则在Python 2.7中会成功,其余代码必须在3.6中运行,因此,这就是不更改为旧版本的原因 尝试了不同的方法:我尝试删除端口实例,将连接输入作为变量传递,我没有包括“conn.autocommit=True”。。。不走运 我也尝试过使用pip3安装psycopg2二进制文件: 但是,当我跑步时,问题依然存在 def conn_to_pgdb(): conn = psycopg
def conn_to_pgdb():
conn = psycopg2.connect("dbname='db' user='jon' password='jon' host='host1234' port='5444'")
conn.autocommit = True
cur = conn.cursor()
create_table = "DROP TABLE IF EXISTS " + con_path + ";" \
"CREATE TABLE " + con_path + " (" \
"user varchar(30)," \
"size varchar(50); "
cur.execute(create_table)
conn_to_pgdb()
以下是异常输出:
psycopg2.OperationalError:无法将主机名“host1234”转换为地址:未知服务器错误已解决,非常奇怪。基于3.6 python解释器的虚拟环境是问题的原因。我只是将主Python 3.6改为仅用作解释器,而没有创建任何虚拟环境(我以前是这样做的)。。。现在它工作得很好
谢谢大家抽出时间,解决了这个问题,我真的很好奇。基于3.6 python解释器的虚拟环境是问题的原因。我只是将主Python 3.6改为仅用作解释器,而没有创建任何虚拟环境(我以前是这样做的)。。。现在它工作得很好
感谢大家抽出时间,如果您使用IP地址而不是主机名,是否有效?@BartFriederichs,我没有主机的IP。psycopg2也无法查找。也许Python2和Python3从主机名获取IP的方式不同。你能尝试
ping
主机名吗?如果你使用IP地址而不是主机名,它能工作吗?@BartFriederichs,我没有主机的IP。好吧,psycopg2也无法查找它。也许Python2和Python3从主机名获取IP的方式不同。您可以尝试ping
主机名吗?