Я написал приложение на Python, которое использует psycopg2 для подключения к серверу Postgresql.При выполнении приложения с использованием Pycharm, когда python-файлы находятся на сетевом диске, соединение работает без проблем.
Я бы хотел распространять приложение для Windows, используя Pyinstaller.Однако при выполнении exe-файла, созданного Pyinstaller, на сетевом диске я получаю разные ошибки.Если я подключаюсь к локальному хосту, я получаю следующую ошибку:
psycopg2.OperationalError: could not translate host name "localhost" to address: Unknown server error
При изменении этого параметра на удаленный хост я получаю
psycopg2.OperationalError: could not create socket: Invalid argument (0x00002726/10022)
Теперь, если я копирую папку dist,который Pyinstaller создает для локального каталога, например C: \ temp, он работает без проблем.
Существует ли конкретная причина, по которой я не могу запустить приложение с сетевого диска?Все задействованные компьютеры работают под управлением Windows (клиент, сервер, на котором работает postgres).
PS: Вот простой пример, который не работает для меня при преобразовании в исполняемый файл с Pyinstaller и запуске с сетевого диска:
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-файл с другого сетевого диска, и на удивление, он работал там.Начальный сетевой диск не работает.Возможно, это вопрос разрешения?