You are not logged in.
[gk@gk ~]$ pgadmin4
QCoreApplication::applicationFilePath: Please instantiate the QApplication object first
QCoreApplication::applicationFilePath: Please instantiate the QApplication object first
Semaphore name: "pgadmin4-gk-a59283b86ae8ae85d20fdf770d799dd7-sema"
Shared memory segment name: "pgadmin4-gk-a59283b86ae8ae85d20fdf770d799dd7-shmem"
Python path: "/usr/lib/python3.9:/usr/lib/python3.9/lib-dynload:/usr/lib/python3.9/site-packages"
Python Home: "/usr/lib/python3.9"
Webapp path: "/usr/lib/pgadmin4/web/pgAdmin4.py"
"An error occurred initialising the pgAdmin 4 server:\n\nFailed to launch the application server, server thread exiting."
Postgresql is installed and running, database cluster is initialized
Offline
I get this after my latest updates as well. `pgadmin4` package was not updated and `python` only got a minor upgrade (3.9.4-1 -> 3.9.5-2).
Still trying figure out what the actual problem is.
Offline
Same here, it used to work. I'm guessing one of the recent python packages updates broke it. Error output is not very helpful...
I can't find "An error occurred initialising the pgAdmin 4 server" or "Failed to launch the application server, server thread exiting" grepping all my system, so I downloaded from upstream git and tried the same, but I can't find where the error is.
Offline
I checked the logs and the first thing that failed was that I was missing the package "python-email-validator" (PKGBUILD needs to update the dependencies?).
Then, this:
Traceback (most recent call last):
File "/usr/lib/pgadmin4/web/pgAdmin4.py", line 94, in <module>
app = create_app()
File "/usr/lib/pgadmin4/web/pgadmin/__init__.py", line 409, in create_app
security.init_app(app, user_datastore)
File "/usr/lib/python3.9/site-packages/flask_security/core.py", line 1089, in init_app
raise ValueError("User model must contain fs_uniquifier as of 4.0.0")
ValueError: User model must contain fs_uniquifier as of 4.0.0
This seems to be related to the package community/python-flask-security-too
Any ideas?
Last edited by icar (2021-05-19 08:21:54)
Offline
I've managed to get pgAdmin working again by downgrading the following packages:
python-flask 1.1.2-4
python-flask-security-too 3.3.3-3
python-psycopg2 2.8.6-4
python-wtforms 2.2.1-10
[edit]: python-psycopg2 is also required now.
Last edited by giddie (2021-07-05 12:22:45)
Offline
Hello guys. Is there any fix for this, because I'm getting same error as stated in first post. I tried downgrading three packages that @giddie suggested but I still have the same problem.
Offline
Dowgrading the packages worked for me. What is your error?
Offline
When using pgAdmin 4 from official repos i get same error before and after downgrading:
QCoreApplication::applicationFilePath: Please instantiate the QApplication object first
QCoreApplication::applicationFilePath: Please instantiate the QApplication object first
Semaphore name: "pgadmin4-nikola-a59283b86ae8ae85d20fdf770d799dd7-sema"
Shared memory segment name: "pgadmin4-nikola-a59283b86ae8ae85d20fdf770d799dd7-shmem"
Python path: "/usr/lib/python3.9:/usr/lib/python3.9/lib-dynload:/usr/lib/python3.9/site-packages"
Python Home: "/usr/lib/python3.9"
Webapp path: "/usr/lib/pgadmin4/web/pgAdmin4.py"
"An error occurred initialising the pgAdmin 4 server:\n\nFailed to launch the application server, server thread exiting."
When using pgAdmin4-last from AUR before downgrading I get:
Traceback (most recent call last):
File "/usr/lib/pgadmin4/web/pgAdmin4.py", line 39, in <module>
import config
File "/usr/lib/pgadmin4/web/config.py", line 25, in <module>
from pgadmin.utils import env, IS_WIN, fs_short_path
File "/usr/lib/pgadmin4/web/pgadmin/__init__.py", line 28, in <module>
from flask_security import Security, SQLAlchemyUserDatastore, current_user
File "/usr/lib/python3.9/site-packages/flask_security/__init__.py", line 15, in <module>
from .core import Security, RoleMixin, UserMixin, AnonymousUser, current_user
File "/usr/lib/python3.9/site-packages/flask_security/core.py", line 48, in <module>
from .mail_util import MailUtil
File "/usr/lib/python3.9/site-packages/flask_security/mail_util.py", line 14, in <module>
import email_validator
ModuleNotFoundError: No module named 'email_validator'
and after downgrading:
Traceback (most recent call last):
File "/usr/lib/pgadmin4/web/pgAdmin4.py", line 98, in <module>
app = create_app()
File "/usr/lib/pgadmin4/web/pgadmin/__init__.py", line 347, in create_app
if not os.path.exists(SQLITE_PATH) or get_version() == -1:
File "/usr/lib/pgadmin4/web/pgadmin/setup/db_version.py", line 19, in get_version
return version.value
AttributeError: 'NoneType' object has no attribute 'value'
Last edited by antonic901 (2021-05-27 00:41:07)
Offline
https://flask-security-too.readthedocs. … sion-4-0-0
https://bugs.gentoo.org/774348
Please see if there is an upstream bug report against pgadmin4 and then file a tracking bug on the Arch bug tracker.
Offline
I've managed to get pgAdmin working again by downgrading the following packages:
python-flask 1.1.2-4 python-flask-security-too 3.3.3-3 python-wtforms 2.2.1-10
This worked for me too.
Offline
I've managed to get pgAdmin working again by downgrading the following packages:
python-flask 1.1.2-4 python-flask-security-too 3.3.3-3 python-psycopg2 2.8.6-4 python-wtforms 2.2.1-10
[edit]: python-psycopg2 is also required now.
Today this did not work anymore.
So I also downgraded
python-flask-migrate 2.7.0-1
python-gssapi 1.6.12-2
python-jinja 3.0.0-1
python-werkzeug 2.0.0-1
without success
Offline
When fix this troubles on new version python ?
Offline
Today this did not work anymore.
That's strange. I just updated my system now and downgraded the packages you quoted from my post, and pgAdmin seems to function OK for me.
Offline
See https://bugs.archlinux.org/task/70918
The package maintainer does not have time to fix the issue. Please ask upstream.
Offline
$ sudo mkdir /var/lib/pgadmin
$ sudo mkdir /var/log/pgadmin
$ sudo chown $USER /var/lib/pgadmin
$ sudo chown $USER /var/log/pgadmin
$ python3 -m venv pgadmin4
$ source pgadmin4/bin/activate
(pgadmin4) $ pip install pgadmin4
...
(pgadmin4) $ pgadmin4
NOTE: Configuring authentication for SERVER mode.
Enter the email address and password to use for the initial pgAdmin user account:
Email address: user@domain.com
Password:
Retype password:
Starting pgAdmin 4. Please navigate to http://127.0.0.1:5050 in your browser.
* Serving Flask app "pgadmin" (lazy loading)
* Environment: production
WARNING: Do not use the development server in a production environment.
Use a production WSGI server instead.
* Debug mode: off
Offline
For what it's worth, I'm switching to `docker-compose` for pgAdmin, since it's pretty easy to add to my existing work configuration:
https://www.pgadmin.org/docs/pgadmin4/l … yment.html
version: "3.8"
volumes:
pgadmin-data:
services:
pgadmin:
image: dpage/pgadmin4
ports:
- "9201:80"
environment:
PGADMIN_DEFAULT_EMAIL: root@localhost.localdomain
PGADMIN_DEFAULT_PASSWORD: secret
PGADMIN_DISABLE_POSTFIX: "true"
PGADMIN_CONFIG_SERVER_MODE: "False"
volumes:
- pgadmin-data:/var/lib/pgadmin
Last edited by giddie (2021-08-09 11:56:35)
Offline
This issue correctable without downgrade version?
Offline
This issue correctable without downgrade version?
Not using Arch provided packages. Waiting for the issue to be reported to upstream.
Offline
I'm not really sure why the arch package is on version 4.30 when the current version is 6.1. Is there an official line on that?
Offline
I'm not really sure why the arch package is on version 4.30 when the current version is 6.1. Is there an official line on that?
I'm used pacman manager for install pgadmin4.
Offline
I'm used pacman manager for install pgadmin4.
I mean that the version available via pacman in archlinux is 4.30, but the latest release of pgAdmin4 is 6.1.
In the meantime, if it's important to get a version of pgAdmin working, a simple solution is to use docker:
* Install Docker
* Install docker-compose
* Create a directory named pgadmin.
* Inside the new directory, copy the configuration from this post into a file named docker-compose.yml
* Run docker-compose up -d in the same directory as the docker-compose.yml file.
* Use docker ps -a to see your running pgAdmin
* Go to http://localhost:9201 to use pgAdmin
* Use docker-compose down to shut it down
Offline
I'm not really sure why the arch package is on version 4.30 when the current version is 6.1. Is there an official line on that?
Nothing beyond the comments in https://bugs.archlinux.org/task/70918
diff --git a/trunk/PKGBUILD b/trunk/PKGBUILD
index ef2de94..e747e31 100644
--- a/trunk/PKGBUILD
+++ b/trunk/PKGBUILD
@@ -2,25 +2,25 @@
# Maintainer: Jerome Leclanche <jerome@leclan.ch>
pkgname=pgadmin4
-pkgver=4.30
-pkgrel=2
+pkgver=6.1
+pkgrel=1
pkgdesc='Comprehensive design and management interface for PostgreSQL'
url='https://www.pgadmin.org/'
-arch=('x86_64')
+arch=('any')
license=('custom')
-depends=('qt5-base' 'postgresql-libs' 'hicolor-icon-theme' 'python'
- 'libxcrypt' 'libcrypt.so' 'glibc' 'gcc-libs'
- 'python-blinker' 'python-flask' 'python-flask-login'
+depends=('postgresql-libs' 'hicolor-icon-theme'
+ 'python-blinker' 'python-flask' 'python-flask-login' 'python-flask-socketio'
'python-flask-migrate' 'python-flask-sqlalchemy' 'python-flask-wtf'
'python-passlib' 'python-pytz' 'python-simplejson' 'python-six'
'python-speaklater' 'python-sqlparse' 'python-wtforms' 'python-psutil'
'python-jinja' 'python-paramiko' 'python-psycopg2' 'python-bcrypt'
- 'python-cryptography' 'python-sqlalchemy1.3' 'python-testtools'
+ 'python-cryptography' 'python-sqlalchemy' 'python-testtools'
'python-webencodings' 'python-werkzeug' 'python-dateutil'
'python-flask-gravatar' 'python-flask-mail' 'python-flask-principal'
'python-flask-paranoid' 'python-sshtunnel' 'python-flask-security-too'
'python-werkzeug' 'python-flask-compress' 'python-ldap3' 'python-cryptography'
- 'python-flask-babelex' 'python-gssapi')
+ 'python-flask-babelex' 'python-gssapi' 'python-email-validator' 'python-eventlet'
+ 'python-httpagentparser' 'python-user-agents' 'python-requests' 'python-authlib')
makedepends=('python-setuptools' 'python-sphinx' 'python-extras' 'python-fixtures'
'python-html5lib' 'python-pbr' 'python-mimeparse' 'python-pyrsistent'
'imagemagick')
@@ -28,67 +28,55 @@ source=(https://ftp.postgresql.org/pub/pgadmin/pgadmin4/v${pkgver}/source/${pkgn
pgAdmin4.desktop
config_distro.py
config_local.py
- pgadmin4-python-de-vendor-venv-paths.patch
- flask-security-compat.patch
flask2-compat.patch)
validpgpkeys=('E8697E2EEF76C02D3A6332778881B2A8210976F2') # Package Manager (Package Signing Key) <packages@pgadmin.org>
-sha512sums=('7ce12f65ce9dbfe4af9e92dd7f9327a05be8b8436ef495a0634043158417f3af5f457b88ee5422ede59f517c197668094454c6d7b7c33e255068479ce6ec13d9'
+sha512sums=('55ec3553aee064413043b8c829a00e710675cda5e529aa9cbd73488f4c344847d6eb03fd75c941143b986f30c7e7ee441403e9fc93042e219817879e57622863'
'SKIP'
'b19dda3331585010c759099eb09f4db288ce4cd3d36882b56748e1e3756dc7bee2899d7438d496280498ec6a60f6e1ba90309d49fc599403f1fdc7e8817b6645'
'16d00dc2095904a6b12da7039458f632873829ad98d4d7653eac5804032ba92097ccae4488d56467d0ea9bd64e2654a3dead73eb7924c947ff1737ff6e3b4745'
'cf83e1357eefb8bdf1542850d66d8007d620e4050b5715dc83f4a921d36ce9ce47d0d13c5d85f2b0ff8318d2877eec2f63b931bd47417a81a538327af927da3e'
- 'a8c1a3762469b02b745da4e3b30f7534ad6bb94e91d43f7e63604fef24f638e09575e2c9336e753e5b6dbe167c55bb49fb6247a16431415318479eb3a3712adc'
- '8b23686674c12f1bbba9ded22425874adb5f6802f2e1f7e381c07208251301f0bb56622a0440e5609c5dcc5461f50fe08c7dcab4405878e9662de6faf782a39b'
'5eb39b2926adc7fe715a2b1b3f2165bd84a9fab3f8afda1ddaaba557ad1d41a4aa8d279387699b7148a86c7af4782d5b6b7f50f89972ef3507d14795c006a65c')
prepare() {
cd ${pkgname}-${pkgver}
-
- patch -Np1 < ../pgadmin4-python-de-vendor-venv-paths.patch
- patch -NRp1 < ../flask-security-compat.patch
patch -NRp1 < ../flask2-compat.patch
- local PYTHONVERSION="$(python -c 'import sys; print(f"{sys.version_info.major}.{sys.version_info.minor}")')"
- sed -E "s|/usr/pgadmin4/web|/usr/lib/pgadmin4/web|g;
- s|/usr/pgadmin4/lib/python[0-9\\.]+|/usr/lib/python${PYTHONVERSION}|g" \
- -i runtime/ConfigWindow.ui
- sed "s|##PYTHONVERSION##|${PYTHONVERSION}|g" -i runtime/Server.cpp
-
sed -E -i requirements.txt \
- -e '/blinker>?=/d' \
- -e '/extras>?=/d' \
-e '/Flask>?=/d' \
+ -e '/Flask-Gravatar>?=/d' \
-e '/Flask-Login>?=/d' \
+ -e '/Flask-Mail>?=/d' \
-e '/Flask-Migrate>?=/d' \
-e '/Flask-SQLAlchemy>?=/d' \
-e '/Flask-WTF>?=/d' \
- -e '/pycrypto>?=/d' \
+ -e '/Flask-Compress>?=/d' \
-e '/passlib>?=/d' \
-e '/pytz>?=/d' \
-e '/simplejson>?=/d' \
-e '/six>?=/d' \
- -e '/speaklater>?=/d' \
+ -e '/speaklater3>?=/d' \
-e '/sqlparse>?=/d' \
-e '/WTForms>?=/d' \
+ -e '/Flask-Paranoid>?=/d' \
-e '/psutil>?=/d' \
-e '/psycopg2>?=/d' \
-e '/python-dateutil>?=/d' \
-e '/SQLAlchemy>?=/d' \
- -e '/Flask-Gravatar>?=/d' \
- -e '/Flask-Mail>?=/d' \
- -e '/Flask-Principal>?=/d' \
- -e '/Flask-Paranoid>?=/d' \
- -e '/htmlmin>?=/d' \
+ -e '/itsdangerous>?<?=/d' \
-e '/Flask-Security-Too>?=/d' \
- -e '/Flask-HTMLmin>?=/d' \
- -e '/Flask-Compress>?=/d' \
+ -e '/bcrypt>?<?=/d' \
+ -e '/cryptography>?=/d' \
-e '/sshtunnel>?=/d' \
- -e '/Werkzeug>?=/d' \
-e '/ldap3>?=/d' \
- -e '/bcrypt>?<?=/d' \
- -e '/cryptography>?<?=/d' \
- -e '/Flask-BabelEx>?<?=/d' \
+ -e '/Flask-BabelEx>?=/d' \
-e '/gssapi>?<?=/d' \
+ -e '/flask-socketio>?>?=/d' \
+ -e '/eventlet>?=/d' \
+ -e '/httpagentparser>?=/d' \
+ -e '/user-agents>?=/d' \
+ -e '/pywinpty>?=/d' \
+ -e '/Authlib>?=/d' \
+ -e '/requests>?=/d' \
-e '/^#.*/d' \
-e '/^$/d'
if [[ -s requirements.txt ]]; then
@@ -104,37 +92,30 @@ build() {
export PGADMIN_PYTHON_DIR=/usr
cd ${pkgname}-${pkgver}
- convert +set date:create +set date:modify runtime/pgAdmin4.{ico,png}
+ convert +set date:create +set date:modify -resize 256x265 runtime/assets/pgAdmin4.png runtime/assets/pgAdmin4-0.png
+ convert +set date:create +set date:modify -resize 48x48 runtime/assets/pgAdmin4.png runtime/assets/pgAdmin4-1.png
+ convert +set date:create +set date:modify -resize 32x32 runtime/assets/pgAdmin4.png runtime/assets/pgAdmin4-2.png
+ convert +set date:create +set date:modify -resize 16x16 runtime/assets/pgAdmin4.png runtime/assets/pgAdmin4-3.png
# override doctree directory
make docs SPHINXOPTS='-d /tmp/'
-
- cd runtime
- export CFLAGS+=" ${CPPFLAGS}"
- export CXXFLAGS+=" ${CPPFLAGS}"
- qmake CONFIG+=release
- make
}
package() {
cd ${pkgname}-${pkgver}
- install -Dm 755 runtime/pgAdmin4 "${pkgdir}/usr/lib/pgadmin4/runtime/pgAdmin4"
+ install -dm 755 "${pkgdir}/usr/lib/pgadmin4"
cp -a docs web "${pkgdir}/usr/lib/pgadmin4"
install -Dm 644 "${srcdir}"/config_{distro,local}.py -t "${pkgdir}/usr/lib/pgadmin4/web"
- install -Dm 644 runtime/pgAdmin4-0.png "${pkgdir}/usr/share/icons/hicolor/256x256/apps/pgAdmin4.png"
- install -Dm 644 runtime/pgAdmin4-1.png "${pkgdir}/usr/share/icons/hicolor/48x48/apps/pgAdmin4.png"
- install -Dm 644 runtime/pgAdmin4-2.png "${pkgdir}/usr/share/icons/hicolor/32x32/apps/pgAdmin4.png"
- install -Dm 644 runtime/pgAdmin4-3.png "${pkgdir}/usr/share/icons/hicolor/16x16/apps/pgAdmin4.png"
+ install -Dm 644 runtime/assets/pgAdmin4-0.png "${pkgdir}/usr/share/icons/hicolor/256x256/apps/pgAdmin4.png"
+ install -Dm 644 runtime/assets/pgAdmin4-1.png "${pkgdir}/usr/share/icons/hicolor/48x48/apps/pgAdmin4.png"
+ install -Dm 644 runtime/assets/pgAdmin4-2.png "${pkgdir}/usr/share/icons/hicolor/32x32/apps/pgAdmin4.png"
+ install -Dm 644 runtime/assets/pgAdmin4-3.png "${pkgdir}/usr/share/icons/hicolor/16x16/apps/pgAdmin4.png"
install -Dm 644 "${srcdir}/pgAdmin4.desktop" -t "${pkgdir}/usr/share/applications"
install -D /dev/stdin "${pkgdir}/usr/bin/pgadmin4" <<END
#!/bin/sh
-cd /usr/lib/pgadmin4
-exec runtime/pgAdmin4 "\$@"
-END
- install -D /dev/stdin "${pkgdir}/usr/bin/pgadmin4-server" <<END
-#!/bin/sh
+export PGADMIN_SERVER_MODE='OFF'
cd /usr/lib/pgadmin4
python web/pgAdmin4.py "\$@"
END
diff --git a/trunk/pgadmin4-python-de-vendor-venv-paths.patch b/trunk/pgadmin4-python-de-vendor-venv-paths.patch
deleted file mode 100644
index fb0b7c5..0000000
--- a/trunk/pgadmin4-python-de-vendor-venv-paths.patch
+++ /dev/null
@@ -1,33 +0,0 @@
-From 3edbde6534e3e819e47075c196c533d88cdbf786 Mon Sep 17 00:00:00 2001
-From: anthraxx <levente@leventepolyak.net>
-Date: Wed, 19 Dec 2018 01:10:25 +0100
-Subject: [PATCH] python: de-vendor venv paths
-
----
- runtime/Server.cpp | 10 +++++-----
- 1 file changed, 5 insertions(+), 5 deletions(-)
-
-diff --git a/runtime/Server.cpp b/runtime/Server.cpp
-index f053cbb00..fd120f36a 100644
---- a/runtime/Server.cpp
-+++ b/runtime/Server.cpp
-@@ -131,11 +131,11 @@ Server::Server(quint16 port, QString key, QString logFileName)
- add_to_path(pythonHome, venvPath.canonicalFilePath());
- #else
- // Build (and canonicalise) the virtual environment path
-- QFileInfo venvBinPath(app_dir + "/../venv/bin");
-- QFileInfo venvLibPath(app_dir + "/../venv/lib/python");
-- QFileInfo venvDynLibPath(app_dir + "/../venv/lib/python/lib-dynload");
-- QFileInfo venvSitePackagesPath(app_dir + "/../venv/lib/python/site-packages");
-- QFileInfo venvPath(app_dir + "/../venv");
-+ QFileInfo venvBinPath("/usr/bin");
-+ QFileInfo venvLibPath("/usr/lib/python##PYTHONVERSION##");
-+ QFileInfo venvDynLibPath("/usr/lib/python##PYTHONVERSION##/lib-dynload");
-+ QFileInfo venvSitePackagesPath("/usr/lib/python##PYTHONVERSION##/site-packages");
-+ QFileInfo venvPath("/usr/lib/python##PYTHONVERSION##");
-
- // Prepend the bin directory to the path
- add_to_path(path_env, venvBinPath.canonicalFilePath(), true);
---
-2.27.0
-
The above diff updates the PKGBUILD to 6.1 but pgadmin4 fails with a different error. The 6.1 version also requires the AUR packages linked below
https://aur.archlinux.org/packages/python-user-agents/
https://aur.archlinux.org/packages/python-ua-parser/
https://aur.archlinux.org/packages/pyth … entparser/
Last edited by loqs (2021-10-29 22:17:45)
Offline
When update PGADMIN to version 6.1 in official repository ?
Offline
To this day, pgAdmin still doesn't work. It's way easier just to install it using `pip`. Follow these (official) instructions and you should have a working pgAdmin in a couple of minutes: https://www.pgadmin.org/download/pgadmin-4-python/
Offline
The way I install it (and any other Python software I want in my computer) is through pipx. No more dependency issues, which are abundant for Python software in Arch.
Offline