Done on Linux (Ubuntu tested)
cd $HOME
virtualenv --python=/usr/bin/python2.7 pgadmin4
source pgadmin4/bin/activate
pip2.7 install https://ftp.postgresql.org/pub/pgadmin3/pgadmin4/v1.0/pip/pgadmin4-1.0-py2-none-any.whl
echo "# coding: utf-8
from config import *
SERVER_MODE = False
# Secret key for signing CSRF data. Override this in config_local.py if
# running on a web server
CSRF_SESSION_KEY = 'MyAlternateSuperSecret1'
# Secret key for signing cookies. Override this in config_local.py if
# running on a web server
SECRET_KEY = 'MyAlternateSuperSecret2'
# Salt used when hashing passwords. Override this in config_local.py if
# running on a web server
SECURITY_PASSWORD_SALT = 'MyAlternateSuperSecret3'
" > $(python -c "from distutils.sysconfig import get_python_lib; print(get_python_lib() + '/pgadmin4/config_local.py')")
Run for the first time the server
python $(python -c "from distutils.sysconfig import get_python_lib; print(get_python_lib() + '/pgadmin4/pgAdmin4.py')")
It should return the following
The configuration database - '/home/myuser/.pgadmin/pgadmin4.db' does not exist. Entering initial setup mode... NOTE: Configuring authentication for DESKTOP mode.
The configuration database has been created at /home/myuser/.pgadmin/pgadmin4.db Starting pgAdmin 4. Please navigate to http://localhost:5050 in your browser.
Open your browser at http://localhost:5050
cd $HOME
source pgadmin4/bin/activate
python $(python -c "from distutils.sysconfig import get_python_lib; print(get_python_lib() + '/pgadmin4/pgAdmin4.py')")
Then, open your browser at http://localhost:5050
Note: you can use above code in a bash file to avoid boring copy&paste
seems this is the kicker:
I'm not sure that wheels remove cleanly like, say, RPMs do, unless you vape the virtualenv.
Try that:
Ta-daa! But for the missing meta-info and visibility, it's like any other packaging setup. And the virtualenv does try to escape perl's "that week's release" problem at the expense of not tracking what was installed where for upgrades after day 2.