Ошибка при запуске PgAdmin4

Стоит наверное уточнить, что качал с офф сайта инсталяшку, которая установила postgresql + pgAdmin4

Данная ошибка вылетает во время запуска. Вот скрин https://skr.sh/s88iU3k6wc9

pgAdmin Runtime Environment
--------------------------------------------------------
Python Path: "D:\v5\python\python.exe"
Runtime Config File: "C:\Users\Alex\AppData\Roaming\pgadmin\runtime_config.json"
pgAdmin Config File: "D:\v5\web\config.py"
Webapp Path: "D:\v5\web\pgAdmin4.py"
pgAdmin Command: "D:\v5\python\python.exe -s D:\v5\web\pgAdmin4.py"
Environment: 
  - ALLUSERSPROFILE: C:\ProgramData
  - APPDATA: C:\Users\Alex\AppData\Roaming
  - CHROME_CRASHPAD_PIPE_NAME: \\.\pipe\crashpad_10780_MOTVKDKQFACMWOEV
  - CHROME_RESTART: NW.js|Произошел сбой NW.js. Перезапустить?|LEFT_TO_RIGHT
  - CommonProgramFiles: C:\Program Files\Common Files
  - CommonProgramFiles(x86): C:\Program Files (x86)\Common Files
  - CommonProgramW6432: C:\Program Files\Common Files
  - COMPUTERNAME: DESKTOP-MUQHR93
  - ComSpec: C:\WINDOWS\system32\cmd.exe
  - DataGrip: C:\Program Files\JetBrains\DataGrip 2020.1\bin;
  - DokanLibrary1: C:\Program Files\Dokan\Dokan Library-1.1.0\
  - DokanLibrary1_LibraryPath_x64: C:\Program Files\Dokan\Dokan Library-1.1.0\lib\
  - DokanLibrary1_LibraryPath_x86: C:\Program Files\Dokan\Dokan Library-1.1.0\x86\lib\
  - DriverData: C:\Windows\System32\Drivers\DriverData
  - HOMEDRIVE: C:
  - HOMEPATH: \Users\Alex
  - LOCALAPPDATA: C:\Users\Alex\AppData\Local
  - LOGONSERVER: \\DESKTOP-MUQHR93
  - NUMBER_OF_PROCESSORS: 4
  - NVM_HOME: C:\Users\Alex\AppData\Roaming\nvm
  - NVM_SYMLINK: C:\Program Files\nodejs
  - OneDrive: C:\Users\Alex\OneDrive
  - OS: Windows_NT
  - Path: C:\Program Files (x86)\Intel\iCLS Client\;C:\Program Files\Intel\iCLS Client\;C:\WINDOWS\system32;C:\WINDOWS;C:\WINDOWS\System32\Wbem;C:\WINDOWS\System32\WindowsPowerShell\v1.0\;C:\WINDOWS\System32\OpenSSH\;C:\Program Files (x86)\Intel\Intel(R) Management Engine Components\DAL;C:\Program Files\Intel\Intel(R) Management Engine Components\DAL;C:\Program Files (x86)\Intel\Intel(R) Management Engine Components\IPT;C:\Program Files\Intel\Intel(R) Management Engine Components\IPT;C:\Program Files\Git\cmd;C:\Program Files (x86)\ATI Technologies\ATI.ACE\Core-Static;C:\Program Files (x86)\Common Files\Acronis\SnapAPI\;C:\Program Files\PuTTY\;C:\Users\Alex\AppData\Roaming\nvm;C:\Program Files\nodejs;C:\Program Files (x86)\WinSCP\;C:\Program Files\nodejs\;C:\Users\Alex\AppData\Local\Microsoft\WindowsApps;C:\Users\Alex\AppData\Local\Programs\Microsoft VS Code\bin;D:\OpenServer\modules\database\MySQL-5.7\bin;C:\Users\Alex\AppData\Local\GitHubDesktop\bin;C:\Program Files\JetBrains\PhpStorm 2019.2\bin;C:\Program Files\JetBrains\WebStorm 2019.2.3\bin;C:\Users\Alex\AppData\Roaming\nvm;C:\Program Files\nodejs;C:\Program Files\JetBrains\DataGrip 2020.1\bin;C:\Users\Alex\AppData\Local\Microsoft\WindowsApps;C:\Users\Alex\AppData\Local\atom\bin;C:\Users\Alex\AppData\Roaming\npm;C:\Program Files\JetBrains\PhpStorm 2020.1.1\bin;
  - PATHEXT: .COM;.EXE;.BAT;.CMD;.VBS;.VBE;.JS;.JSE;.WSF;.WSH;.MSC
  - PGADMIN_INT_KEY: 14e86c8d-79fd-4acd-ae47-d31a182a0554
  - PGADMIN_INT_PORT: 50522
  - PGADMIN_SERVER_MODE: OFF
  - PhpStorm: C:\Program Files\JetBrains\PhpStorm 2020.1.1\bin;
  - PROCESSOR_ARCHITECTURE: AMD64
  - PROCESSOR_IDENTIFIER: Intel64 Family 6 Model 60 Stepping 3, GenuineIntel
  - PROCESSOR_LEVEL: 6
  - PROCESSOR_REVISION: 3c03
  - ProgramData: C:\ProgramData
  - ProgramFiles: C:\Program Files
  - ProgramFiles(x86): C:\Program Files (x86)
  - ProgramW6432: C:\Program Files
  - PSModulePath: C:\Program Files\WindowsPowerShell\Modules;C:\WINDOWS\system32\WindowsPowerShell\v1.0\Modules;C:\Program Files\Intel\
  - PUBLIC: C:\Users\Public
  - SESSIONNAME: Console
  - SystemDrive: C:
  - SystemRoot: C:\WINDOWS
  - TEMP: C:\Users\Alex\AppData\Local\Temp
  - TMP: C:\Users\Alex\AppData\Local\Temp
  - USERDOMAIN: DESKTOP-MUQHR93
  - USERDOMAIN_ROAMINGPROFILE: DESKTOP-MUQHR93
  - USERNAME: Alex
  - USERPROFILE: C:\Users\Alex
  - WebStorm: C:\Program Files\JetBrains\WebStorm 2019.2.3\bin;
  - windir: C:\WINDOWS
  - __COMPAT_LAYER: DetectorsAppHealth
--------------------------------------------------------

Traceback (most recent call last):
  File "D:\v5\web\pgAdmin4.py", line 98, in <module>
    app = create_app()
  File "D:\v5\web\pgadmin\__init__.py", line 347, in create_app
    if not os.path.exists(SQLITE_PATH) or get_version() == -1:
  File "D:\v5\web\pgadmin\setup\db_version.py", line 19, in get_version
    return version.value
AttributeError: 'NoneType' object has no attribute 'value'

Ответы (4 шт):

Автор решения: Jeff Morgan

Пожалуйста, не проходите мимо. Если кто знает - хоть мысли подкиньте. Уже не знаю куда копать.

Пробовал даже на чистую винду ставить. Ошибка та же.

Пробовал:

  1. Менять порты
  2. Устанавливать версии чуть младше
  3. Переустанавливал необходимые дрова для PG
  4. Останавливал / запускал службы
→ Ссылка
Автор решения: Nikita Kalitin

Попробуйте вот этот совет. А именно:

  1. удалить файл
C:\Users{User name}\AppData\Roaming\pgadmin\pgadmin4.db
  1. добавить переменную окружения
SQLITE_PATH = 'C:\Users{User name}\AppData\Roaming\pgadmin\pgadmin4.db'
→ Ссылка
Автор решения: Samurai

Эта глупая ошибка в момент переноса и перезагрузки серверов была очень некстати, и я решил помочь и поделиться решением, которое, как мне кажется должно помочь многим на Windows.

Собственно, проблема заключалась, как оказалось, в ключах Windows, которые по необъяснимым причинам выдает неверные ключи путей для обращения в pgAdmin v4 всех версий. (На более низких не проверял)

  1. В первую очередь я отредактировал ключи установки через regedit в самой винде. Так как недавно я перешел на Windows 11, я не делал этого. (То же самое у меня было пару лет назад, после установки Win10). Нажимаем win + R и набираем в окне regedit.
  2. Далее нам требуется найти в HKEY_CLASSES_ROOT ключ с именем .js (Все главные ключи там изображены как папки). В этой "папке" мы должны найти Content Type, и в нем изменить значение на text/javascript (Если такого нет, то нужно создать этот ключ)
  3. После этого заходим в директорию, в которой установлен pgAdmin > web. В этой директории у нас есть файл config.py - это главный файл, который подгружает все переменные окружения. Его нельзя изменять, но можно создать в этой же директории config_local.py. Имейте ввиду, что редактировать его нужно с помощью VIM/NANO/Доступной IDE, так как редакторы текста вставляют UTF-8 символы.
  4. В нем мы прописываем путь до файла локальной db, которая требуется pgAdmin для сохранения истории и сессий. Чаще всего он находится в директории C:/Users/{Ваш Юзернейм}/AppData/Roaming/pgAdmin/pgadmin4.db.
  5. В самом файле config_local.py прописываем путь SQLITE_PATH = '<Path to pgadmin4.db>'. У меня это единственная строка в файле.
  6. Сохраняем и выходим. На этом нам нужно перезапустить pgAdmin, и все должно заработать.

Помимо этого были некоторые дополнительные шаги:

  • Я переустановил pgAdmin c установкой для всех пользователей
  • Я проверил, что путь, указанный в логах pgAdmin, который выдает ошибку, верный (путь до питона, который он сам себе устанавливает; путь до дб, который он запрашивает; и т.п.)
  • Я думаю, что часть ошибок с путями может быть по двум причинам:
    1. русско-язычные системы, в которых путь прописан через кириллицу, порождают ошибки, поэтому у меня виндовс на английском языке; и
    2. при обращении к документации, по дефолту виндовс имеет CaseSensetive название файлов, а в документации путь прописан через LowerCase (таким образом, иногда папки создаются с именем pgAdmin, а путь прописан как <somewhere>/pgadmin (хотя нужно pgAdmin)/pgadmin4.db)

P.S. Я прошел через это только для того, чтобы иметь pgAdmin на отдельном ssd, но подозреваю что, если следовать инструкции дефолта в виде установки всего на C:/ диск, то проблем не должно возникнуть.

→ Ссылка