Ошибка при запуске 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 шт):
Пожалуйста, не проходите мимо. Если кто знает - хоть мысли подкиньте. Уже не знаю куда копать.
Пробовал даже на чистую винду ставить. Ошибка та же.
Пробовал:
- Менять порты
- Устанавливать версии чуть младше
- Переустанавливал необходимые дрова для PG
- Останавливал / запускал службы
Скачайте старую версию пг админа. https://www.postgresql.org/ftp/pgadmin/pgadmin4/v4.30/windows/
Попробуйте вот этот совет. А именно:
- удалить файл
C:\Users{User name}\AppData\Roaming\pgadmin\pgadmin4.db
- добавить переменную окружения
SQLITE_PATH = 'C:\Users{User name}\AppData\Roaming\pgadmin\pgadmin4.db'
Эта глупая ошибка в момент переноса и перезагрузки серверов была очень некстати, и я решил помочь и поделиться решением, которое, как мне кажется должно помочь многим на Windows.
Собственно, проблема заключалась, как оказалось, в ключах Windows, которые по необъяснимым причинам выдает неверные ключи путей для обращения в pgAdmin v4 всех версий. (На более низких не проверял)
- В первую очередь я отредактировал ключи установки через regedit в самой винде. Так как недавно я перешел на Windows 11, я не делал этого. (То же самое у меня было пару лет назад, после установки Win10). Нажимаем
win + Rи набираем в окнеregedit. - Далее нам требуется найти в
HKEY_CLASSES_ROOTключ с именем.js(Все главные ключи там изображены как папки). В этой "папке" мы должны найтиContent Type, и в нем изменить значение наtext/javascript(Если такого нет, то нужно создать этот ключ) - После этого заходим в директорию, в которой установлен
pgAdmin > web. В этой директории у нас есть файлconfig.py- это главный файл, который подгружает все переменные окружения. Его нельзя изменять, но можно создать в этой же директорииconfig_local.py. Имейте ввиду, что редактировать его нужно с помощью VIM/NANO/Доступной IDE, так как редакторы текста вставляют UTF-8 символы. - В нем мы прописываем путь до файла локальной db, которая требуется pgAdmin для сохранения истории и сессий. Чаще всего он находится в директории
C:/Users/{Ваш Юзернейм}/AppData/Roaming/pgAdmin/pgadmin4.db. - В самом файле config_local.py прописываем путь
SQLITE_PATH = '<Path to pgadmin4.db>'. У меня это единственная строка в файле. - Сохраняем и выходим. На этом нам нужно перезапустить pgAdmin, и все должно заработать.
Помимо этого были некоторые дополнительные шаги:
- Я переустановил pgAdmin c установкой для всех пользователей
- Я проверил, что путь, указанный в логах pgAdmin, который выдает ошибку, верный (путь до питона, который он сам себе устанавливает; путь до дб, который он запрашивает; и т.п.)
- Я думаю, что часть ошибок с путями может быть по двум причинам:
- русско-язычные системы, в которых путь прописан через кириллицу, порождают ошибки, поэтому у меня виндовс на английском языке; и
- при обращении к документации, по дефолту виндовс имеет CaseSensetive название файлов, а в документации путь прописан через LowerCase (таким образом, иногда папки создаются с именем pgAdmin, а путь прописан как
<somewhere>/pgadmin (хотя нужно pgAdmin)/pgadmin4.db)
P.S. Я прошел через это только для того, чтобы иметь pgAdmin на отдельном ssd, но подозреваю что, если следовать инструкции дефолта в виде установки всего на C:/ диск, то проблем не должно возникнуть.