从网络驱动器启动时psycopg2连接失败

时间:2019-05-16 08:44:46

标签: python pyinstaller psycopg2

我已经编写了一个使用psycopg2连接到Postgresql服务器的Python应用程序。当使用Pycharm将应用程序与网络驱动器上的python文件一起使用时,该连接可以正常工作。

我想使用Pyinstaller分发Windows应用程序。但是,在网络驱动器上执行Pyinstaller内置的exe文件时,出现了不同的错误。如果我连接到本地主机,则会出现以下错误:

psycopg2.OperationalError: could not translate host name "localhost" to address: Unknown server error

将其更改为远程主机,我得到

psycopg2.OperationalError: could not create socket: Invalid argument (0x00002726/10022)

现在,如果我将Pyinstaller创建的dist文件夹复制到本地目录(如C:\ temp),则它可以正常工作。

是否有特定原因,为什么我不能从网络驱动器运行该应用程序?所有涉及的计算机都在运行Windows(客户端,服务器在运行postgres)。

P.S .:这是一个简单的示例,当使用Pyinstaller转换为exe并从网络驱动器运行时,对我不起作用:

from psycopg2 import connect, extras

if __name__ == "__main__":
    # Basic UI Setup
    dbCon = connect(dbname='datb', user='postgres', host='localhost', password='pw', port='5432')
    cursor = dbCon.cursor(
        cursor_factory=extras.NamedTupleCursor)

    dbCon.close()

编辑:我试图从不同的网络驱动器运行exe,但令人惊讶的是,它在那里工作。初始网络驱动器不合作。这可能是许可问题吗?

0 个答案:

没有答案