微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

出现致命错误:运行 pgAdmin4 时无法联系服务器 'NoneType' 对象没有属性 'value'

如何解决出现致命错误:运行 pgAdmin4 时无法联系服务器 'NoneType' 对象没有属性 'value'

我有一个全新安装的 Windows,我正在尝试安装 Postgres 和 pgAdmin4。 我使用认设置对所有内容(pgAdmin 4、postrgres 13 等)进行了全新安装。当我运行 pgAdmin 4 时,我收到“致命错误:无法联系服务器”并显示以下消息:

pgAdmin Runtime Environment
--------------------------------------------------------
Python Path: "C:\Program Files\Postgresql\13\pgAdmin 4\python\python.exe"
Runtime Config File: "C:\Users\username\AppData\Roaming\pgadmin\runtime_config.json"
pgAdmin Config File: "C:\Program Files\Postgresql\13\pgAdmin 4\web\config.py"
Webapp Path: "C:\Program Files\Postgresql\13\pgAdmin 4\web\pgAdmin4.py"
pgAdmin Command: "C:\Program Files\Postgresql\13\pgAdmin 4\python\python.exe -s C:\Program Files\Postgresql\13\pgAdmin 4\web\pgAdmin4.py"
Environment: 
  - ALLUSERSPROFILE: C:\ProgramData
  - APPDATA: C:\Users\username\AppData\Roaming
  - CHROME_CRASHPAD_PIPE_NAME: \\.\pipe\crashpad_4296_YJZESWNMDVNGRRUO
  - CHROME_RESTART: NW.js|Whoa! NW.js has crashed. relaunch Now?|LEFT_TO_RIGHT
  - CommonProgramFiles: C:\Program Files\Common Files
  - CommonProgramFiles(x86): C:\Program Files (x86)\Common Files
  - CommonProgramW6432: C:\Program Files\Common Files
  - COmpuTERNAME: pcname
  - ComSpec: C:\Windows\system32\cmd.exe
  - configsetroot: C:\Windows\ConfigSetRoot
  - DriverData: C:\Windows\System32\Drivers\DriverData
  - HOMEDRIVE: C:
  - HOMEPATH: \Users\username
  - LOCALAPPDATA: C:\Users\username\AppData\Local
  - logoNSERVER: \\pcname
  - NUMBER_OF_PROCESSORS: 8
  - NVM_HOME: C:\Users\username\AppData\Roaming\nvm
  - NVM_SYMLINK: C:\Program Files\nodejs
  - OneDrive: C:\Users\username\OneDrive
  - OS: Windows_NT
  - Path: C:\Windows\system32;C:\Windows;C:\Windows\System32\Wbem;C:\Windows\System32\WindowsPowerShell\v1.0\;C:\Windows\System32\OpenSSH\;C:\Program Files (x86)\NVIDIA Corporation\physx\Common;C:\Program Files\Git\cmd;C:\Program Files\Postgresql\12\bin;C:\Users\username\AppData\Roaming\nvm;C:\Program Files\nodejs;C:\Users\username\AppData\Local\Microsoft\WindowsApps;C:\Users\username\AppData\Local\Programs\Microsoft VS Code\bin
  - PATHEXT: .COM;.EXE;.BAT;.CMD;.VBS;.VBE;.JS;.JSE;.WSF;.WSH;.MSC
  - PGADMIN_INT_KEY: 2e023387-9c82-4cdd-af2f-c82562c6e4fc
  - PGADMIN_INT_PORT: 50567
  - PGADMIN_SERVER_MODE: OFF
  - PROCESSOR_ARCHITECTURE: AMD64
  - PROCESSOR_IDENTIFIER: Intel64 Family 6 Model 140 Stepping 1,GenuineIntel
  - PROCESSOR_LEVEL: 6
  - PROCESSOR_REVISION: 8c01
  - 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
  - PUBLIC: C:\Users\Public
  - SystemDrive: C:
  - SystemRoot: C:\Windows
  - TEMP: C:\Users\username\AppData\Local\Temp
  - TMP: C:\Users\username\AppData\Local\Temp
  - USERDOMAIN: pcname
  - USERDOMAIN_ROAMINGPROFILE: pcname
  - USERNAME: username
  - USERPROFILE: C:\Users\username
  - windir: C:\Windows
--------------------------------------------------------

Traceback (most recent call last):
  File "C:\Program Files\Postgresql\13\pgAdmin 4\web\pgAdmin4.py",line 98,in <module>
    app = create_app()
  File "C:\Program Files\Postgresql\13\pgAdmin 4\web\pgadmin\__init__.py",line 347,in create_app
    if not os.path.exists(sqlITE_PATH) or get_version() == -1:
  File "C:\Program Files\Postgresql\13\pgAdmin 4\web\pgadmin\setup\db_version.py",line 19,in get_version
    return version.value
AttributeError: 'nonetype' object has no attribute 'value'

注意:'username' 和 'pcname' 是我用来代替实际字符串的占位符,其中一些字符串最初是大写的。

已验证服务“postgresql-x64-13”正在运行。尽管尝试了以下操作,但我仍然收到此消息:

  • 管理员身份运行。
  • 正在删除 C:\Users\username\AppData\Roaming\pgadmin
  • C:\Program Files\Postgresql\13\bin 添加PATH 环境变量(系统和 用户
  • 重新启动服务。
  • 卸载/重新安装 Postgres 13。
  • 卸载/安装 Postgres 12。
  • 重新启动我的机器。

产生不同结果的一件事是停止服务,删除 C:\Users\username\AppData\Roaming\pgadmin,重新启动服务,然后运行 ​​pg4admin 这导致“致命错误”,输出如下:

pgAdmin Runtime Environment
--------------------------------------------------------
Python Path: "C:\Program Files\Postgresql\13\pgAdmin 4\python\python.exe"
Runtime Config File: "C:\Users\username\AppData\Roaming\pgadmin\runtime_config.json"
pgAdmin Config File: "C:\Program Files\Postgresql\13\pgAdmin 4\web\config.py"
Webapp Path: "C:\Program Files\Postgresql\13\pgAdmin 4\web\pgAdmin4.py"
pgAdmin Command: "C:\Program Files\Postgresql\13\pgAdmin 4\python\python.exe -s C:\Program Files\Postgresql\13\pgAdmin 4\web\pgAdmin4.py"
Environment: 
  - ALLUSERSPROFILE: C:\ProgramData
  - APPDATA: C:\Users\username\AppData\Roaming
  - CHROME_CRASHPAD_PIPE_NAME: \\.\pipe\crashpad_10312_CHCJAQAYYFQQIAGB
  - CHROME_RESTART: NW.js|Whoa! NW.js has crashed. relaunch Now?|LEFT_TO_RIGHT
  - CommonProgramFiles: C:\Program Files\Common Files
  - CommonProgramFiles(x86): C:\Program Files (x86)\Common Files
  - CommonProgramW6432: C:\Program Files\Common Files
  - COmpuTERNAME: pcname
  - ComSpec: C:\Windows\system32\cmd.exe
  - configsetroot: C:\Windows\ConfigSetRoot
  - DriverData: C:\Windows\System32\Drivers\DriverData
  - HOMEDRIVE: C:
  - HOMEPATH: \Users\username
  - LOCALAPPDATA: C:\Users\username\AppData\Local
  - logoNSERVER: \\pcname
  - NUMBER_OF_PROCESSORS: 8
  - NVM_HOME: C:\Users\username\AppData\Roaming\nvm
  - NVM_SYMLINK: C:\Program Files\nodejs
  - OneDrive: C:\Users\username\OneDrive
  - OS: Windows_NT
  - Path: C:\Windows\system32;C:\Windows;C:\Windows\System32\Wbem;C:\Windows\System32\WindowsPowerShell\v1.0\;C:\Windows\System32\OpenSSH\;C:\Program Files (x86)\NVIDIA Corporation\physx\Common;C:\Program Files\Git\cmd;C:\Program Files\Postgresql\13\bin;C:\Users\username\AppData\Roaming\nvm;C:\Program Files\nodejs;C:\Users\username\AppData\Local\Microsoft\WindowsApps;C:\Users\username\AppData\Local\Programs\Microsoft VS Code\bin;C:\Users\username\AppData\Roaming\nvm;C:\Program Files\nodejs;C:\Program Files\Postgresql\13\bin;
  - PATHEXT: .COM;.EXE;.BAT;.CMD;.VBS;.VBE;.JS;.JSE;.WSF;.WSH;.MSC
  - PGADMIN_INT_KEY: cb6cf8e1-ca8b-416b-985f-1fd1a945ff06
  - PGADMIN_INT_PORT: 50906
  - PGADMIN_SERVER_MODE: OFF
  - PROCESSOR_ARCHITECTURE: AMD64
  - PROCESSOR_IDENTIFIER: Intel64 Family 6 Model 140 Stepping 1,GenuineIntel
  - PROCESSOR_LEVEL: 6
  - PROCESSOR_REVISION: 8c01
  - 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
  - PUBLIC: C:\Users\Public
  - SESSIONNAME: Console
  - SystemDrive: C:
  - SystemRoot: C:\Windows
  - TEMP: C:\Users\username\AppData\Local\Temp
  - TMP: C:\Users\username\AppData\Local\Temp
  - USERDOMAIN: pcname
  - USERDOMAIN_ROAMINGPROFILE: pcname
  - USERNAME: username
  - USERPROFILE: C:\Users\username
  - windir: C:\Windows
--------------------------------------------------------

NOTE: Configuring authentication for DESKTOP mode.

Traceback (most recent call last):
  File "C:\Program Files\Postgresql\13\pgAdmin 4\web\pgAdmin4.py",line 91,in <module>
    exec(open(file_quote(setup_py),'r').read())
  File "<string>",line 506,in <module>
  File "<string>",line 378,in setup_db
  File "C:\Program Files\Postgresql\13\pgAdmin 4\web\pgadmin\__init__.py",line 351,in create_app
    db_upgrade(app)
  File "C:\Program Files\Postgresql\13\pgAdmin 4\web\pgadmin\setup\db_upgrade.py",line 25,in db_upgrade
    flask_migrate.upgrade(migration_folder)
  File "C:\Program Files\Postgresql\13\pgAdmin 4\python\lib\site-packages\flask_migrate\__init__.py",line 96,in wrapped
    f(*args,**kwargs)
  File "C:\Program Files\Postgresql\13\pgAdmin 4\python\lib\site-packages\flask_migrate\__init__.py",line 271,in upgrade
    command.upgrade(config,revision,sql=sql,tag=tag)
  File "C:\Program Files\Postgresql\13\pgAdmin 4\python\lib\site-packages\alembic\command.py",line 294,in upgrade
    script.run_env()
  File "C:\Program Files\Postgresql\13\pgAdmin 4\python\lib\site-packages\alembic\script\base.py",line 490,in run_env
    util.load_python_file(self.dir,"env.py")
  File "C:\Program Files\Postgresql\13\pgAdmin 4\python\lib\site-packages\alembic\util\pyfiles.py",line 97,in load_python_file
    module = load_module_py(module_id,path)
  File "C:\Program Files\Postgresql\13\pgAdmin 4\python\lib\site-packages\alembic\util\compat.py",line 182,in load_module_py
    spec.loader.exec_module(module)
  File "<frozen importlib._bootstrap_external>",line 783,in exec_module
  File "<frozen importlib._bootstrap>",line 219,in _call_with_frames_removed
  File "C:\Program Files\Postgresql\13\pgAdmin 4\web\pgadmin\setup\..\..\migrations\env.py",line 93,in <module>
    run_migrations_online()
  File "C:\Program Files\Postgresql\13\pgAdmin 4\web\pgadmin\setup\..\..\migrations\env.py",line 86,in run_migrations_online
    context.run_migrations()
  File "<string>",line 8,in run_migrations
  File "C:\Program Files\Postgresql\13\pgAdmin 4\python\lib\site-packages\alembic\runtime\environment.py",line 813,in run_migrations
    self.get_context().run_migrations(**kw)
  File "C:\Program Files\Postgresql\13\pgAdmin 4\python\lib\site-packages\alembic\runtime\migration.py",line 561,in run_migrations
    step.migration_fn(**kw)
  File "C:\Program Files\Postgresql\13\pgAdmin 4\web\migrations\versions\fdc58d9bd449_.py",line 122,in upgrade
    Security(current_app,user_datastore,register_blueprint=False)
  File "C:\Program Files\Postgresql\13\pgAdmin 4\python\lib\site-packages\flask_security\core.py",line 1062,in __init__
    self._state = self.init_app(
  File "C:\Program Files\Postgresql\13\pgAdmin 4\python\lib\site-packages\flask_security\core.py",line 1102,in init_app
    self._state = state = _get_state(app,datastore,**kwargs)
  File "C:\Program Files\Postgresql\13\pgAdmin 4\python\lib\site-packages\flask_security\core.py",line 608,in _get_state
    remember_token_serializer=_get_serializer(app,"remember"),File "C:\Program Files\Postgresql\13\pgAdmin 4\python\lib\site-packages\flask_security\core.py",line 593,in _get_serializer
    return URLSafeTimedSerializer(secret_key=secret_key,salt=salt)
  File "C:\Program Files\Postgresql\13\pgAdmin 4\python\lib\site-packages\itsdangerous\serializer.py",line 104,in __init__
    self.secret_keys: _t.List[bytes] = _make_keys_list(secret_key)
  File "C:\Program Files\Postgresql\13\pgAdmin 4\python\lib\site-packages\itsdangerous\signer.py",line 64,in _make_keys_list
    return [want_bytes(s) for s in secret_key]
TypeError: 'nonetype' object is not iterable

我最近在另一台机器上安装了它,没有任何问题。新构建会出现问题似乎很奇怪。几乎让我觉得我缺少旧版本包含的东西(python?),尽管事实并非如此。有很多关于此的帖子,我已经尝试了其中建议的所有内容,但都没有解决

解决方法

正如 Delsx 在评论中指出的那样,可以安装独立的 pgAdmin,而不会出现与 pgadmin.org/download 相同的问题。看来这是一个普遍存在的错误,已在 pgAdmin bug listherehere

上报告 ,

最后对我有用的解决方案是:

  1. 删除 C:\Users\username\AppData\Roaming\pgadmin
  2. 打开终端并使用 python 运行 C:\Program Files\PostgreSQL\12\pgAdmin 4\web\pgAdmin4.py 文件

Terminal view -> python execution

  1. 以管理员身份从 Windows 菜单中运行“pgAdmin 4”应用,它将按预期运行
,

适合我的解决方案:

在以下位置下载 pgAdmin4: https://www.postgresql.org/ftp/pgadmin/pgadmin4/v5.2/windows/ 在以下位置下载 Sql 服务器: https://www.enterprisedb.com/downloads/postgres-postgresql-downloads 设置时,取消勾选安装 pgAdmin 4 和 StackBuilder。

,

我一直在寻找这个问题,我做了以下事情

  1. 删除 C:\Users\username\AppData\Roaming\pgadmin 文件夹
  2. 添加下一个windows用户环境变量

SQLITE_PATH = C:\Users\*YourUsername*\AppData\Roaming\pgadmin\pgadmin4.db

  1. 在 C:\Program Files\pgAdmin 4\v5\web 处打开 cmd 并使用 python 运行 setup.py 文件
  2. 安装所有缺少的依赖项(如果有)
  3. 一旦 setup.py 成功完成,您应该再次从 AppData 中删除 pgadmin 文件夹
  4. 再运行一次 setup.py
  5. 正常打开 pgAdming4(不是以管理员身份)

这个解决方法对我有用

我的设置是 PostgreSQL 9.6、pgAdmin4 v5.3 和 Python 3.9.5

,

这个解决方案对我有用:

仅从您的系统中删除 pgAdmin4(在单个组件卸载模式下)。

然后在以下位置下载并安装 pgAdmin4:https://www.postgresql.org/ftp/pgadmin/pgadmin4/v5.2/windows/

删除 C:\Users*YourUsername*\AppData\Roaming\pgadmin

运行 PgAdmin4

,

如果即使是独立的 pgAdmin4 exe 也不起作用,请转到 python 虚拟环境(如果没有,则使用 pip 安装它)。在虚拟环境中安装 pgAdmin 包(pip install pgadmin4)。导航到 C:\Users(username)\Envs(或您各自的 env 文件夹)\test(或您各自的环境名称)\Lib\site-packages\pgadmin4\pgAdmin4.py。 如果在运行 py 文件时,您可能会遇到没有找到的 cheroot 模块,然后在虚拟环境中安装 pip install cheroot 就大功告成了。 请记住在执行此操作之前激活环境。为方便起见,在两个单独的 cmd 窗口中执行此操作。

即使 exe 无法运行,上述过程也一定可以运行。

还要验证 postgresql 是否正在侦听端口:5432 否则更改 postgresql.conf 中的端口

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。

相关推荐


Selenium Web驱动程序和Java。元素在(x,y)点处不可单击。其他元素将获得点击?
Python-如何使用点“。” 访问字典成员?
Java 字符串是不可变的。到底是什么意思?
Java中的“ final”关键字如何工作?(我仍然可以修改对象。)
“loop:”在Java代码中。这是什么,为什么要编译?
java.lang.ClassNotFoundException:sun.jdbc.odbc.JdbcOdbcDriver发生异常。为什么?
这是用Java进行XML解析的最佳库。
Java的PriorityQueue的内置迭代器不会以任何特定顺序遍历数据结构。为什么?
如何在Java中聆听按键时移动图像。
Java“Program to an interface”。这是什么意思?