pgAdmin4 错误“无法启动应用程序服务器,服务器线程退出。”

pgAdmin4 错误“无法启动应用程序服务器,服务器线程退出。”

我在 Kubuntu 18.04 上启动 pgAdmin4 时出现此错误:

初始化应用程序服务器时发生错误:
无法启动应用程序服务器,服务器线程退出。

在以下窗口(“配置”)中我有这些默认值:

Python 路径:
/usr/pgadmin4/lib/python2.7
;/usr/pgadmin4/lib/python2.7/site-packages 应用程序路径:
/usr/pgadmin4/web

因为我没有/usr/pgadmin4/目录,所以全部都是错的。

https://stackoverflow.com/questions/43968302/failed-to-launch-application-server-server-thread-existing-on-windows在 Windows 上出现同样的错误

答案1

对我来说,当我像 Thomas Landauer 所说的那样运行 pgadmin 时,出现了这个错误:

$ sudo python3 /usr/share/pgadmin4/web/pgAdmin4.py
Traceback (most recent call last):
  File "/usr/share/pgadmin4/web/pgAdmin4.py", line 58, in <module>
    exec(open(file_quote(setupfile), 'r').read())
  File "<string>", line 47, in <module>
  File "/usr/share/pgadmin4/web/pgadmin/setup/data_directory.py", line 29, in create_app_data_directory
    _create_directory_if_not_exists(config.SESSION_DB_PATH)
  File "/usr/share/pgadmin4/web/pgadmin/setup/data_directory.py", line 15, in _create_directory_if_not_exists
    os.mkdir(_path)
FileNotFoundError: [Errno 2] No such file or directory: '/var/cache/pgadmin/sessions'

错误说明了问题是什么,所以我创建了文件夹:

$ sudo mkdir -p /var/cache/pgadmin/sessions

重新启动 pgAdmin4 后,它首先要求创建用户,然后就可以工作了。

答案2

问题似乎是我安装了 python2 和 python3。对我有用的解决方案(解决方法):

  1. 找到你的pgAdmin4.py。就我而言,它是/usr/share/pgadmin4/web/pgAdmin4.py
  2. 在终端中像这样启动它:sudo python3 /usr/share/pgadmin4/web/pgAdmin4.py

如果您有更好的解决方案,请告诉我们:-)

我为此开了一张票:https://redmine.postgresql.org/issues/3737

答案3

忘掉预构建包 (apt) 吧。它在很多方面都存在问题 (Python 路径、PIP 路径、文件系统权限),而且没有显示太多调试信息。

改用 Python wheel。至少它会告诉你到底哪里出了问题,你可能需要

  • 安装一些模块(mako)
  • 使用 sudo 运行(或手动修复文件权限问题)
  • 检查日志ls .pg* -lh

可能不是最佳方法,但这是我让它发挥作用的方法

python3.7 -m pip install --user https://ftp.postgresql.org/pub/pgadmin/pgadmin4/v4.5/pip/pgadmin4-4.5-py2.py3-none-any.whl

sudo python3.7 ~/.local/lib/python3.7/site-packages/pgadmin4/pgAdmin4.py

答案4

已修复 4.6 版本。请卸载您安装的版本。

https://www.postgresql.org/ftp/pgadmin/pgadmin4/v4.6/windows/

相关内容