Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/python-3.x/17.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python 3.x 无法将PostgreSQL与Python3.6连接,但与Python2.7使用相同的代码。出人意料_Python 3.x_Windows_Postgresql_Connection_Psycopg2 - Fatal编程技术网

Python 3.x 无法将PostgreSQL与Python3.6连接,但与Python2.7使用相同的代码。出人意料

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

我试图在Windows上使用Python连接到PostgreSQL数据库,但使用Python 3.6失败,否则在Python 2.7中会成功,其余代码必须在3.6中运行,因此,这就是不更改为旧版本的原因

尝试了不同的方法:我尝试删除端口实例,将连接输入作为变量传递,我没有包括“conn.autocommit=True”。。。不走运

我也尝试过使用pip3安装psycopg2二进制文件: 但是,当我跑步时,问题依然存在

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
主机名吗?