Reading the doc of mod_wgsi (https://modwsgi.readthedocs.io/en/develop/user-guides/virtual-environments.html), I also added this at the beginning of the pgAdmin4.wsgi file:
python_home = '/usr/local/pgadmin4' activate_this = python_home + '/bin/activate_this.py' exec(open(activate_this).read()) And it still doesn't solve the problem ? How is this possible that with all that, the application seems to not take into account the virtual environnment ? As I said in an earlier message, the version of flask in the virtual environment is correct (0.12.4). I really do not understand at all why it doesn't want to work. Thanks for your help, François Le 18/01/19 à 20:54, François Valenduc a écrit : > > Indeed, I have 2 versions on the machine. I only managed to get > pgadmin 3.6 working again by restoring a backup of my system. This > version has been installed as a gentoo package. Strangely, it works > with Flask 1.0.2 as you can see in the screenshot. One would expect > that if 3.6 works with flask 1.0.2, newer version would also work with > this flask version, but it is not the case. > > I also tried to install version 4.1 in a virtual environment. As I > already said several times, I installed it with pip from the whl file > downloaded from the pgadmin website. Despite al my tries, I can't get > it to work. Would there be a conflict between the 2 versions ? I > thought setting python-home and python-pip would help to avoid conflicts. > > I also doesn't understand why you asked to set this: <Directory > /usr/local/pgadmin4/lib/python3.6/site-packages/pgadmin4/*web*> The > subdirectory "web" doesn't exist. > I really don't know what I could try next. > > François > > > Le 18/01/19 à 06:52, Khushboo Vashi a écrit : >> Do you have 2 setup for pgAdmin 4 on the machine? >> >> On Fri, Jan 18, 2019 at 11:20 AM François Valenduc >> <francoisvalen...@gmail.com <mailto:francoisvalen...@gmail.com>> wrote: >> >> I have changed it and it still doesn't work. >> >> François >> >> Le ven. 18 janv. 2019 06:22, Khushboo Vashi >> <khushboo.va...@enterprisedb.com >> <mailto:khushboo.va...@enterprisedb.com>> a écrit : >> >> >> >> On Thu, Jan 17, 2019 at 5:21 PM François Valenduc >> <francoisvalen...@gmail.com >> <mailto:francoisvalen...@gmail.com>> wrote: >> >> I have installed pdadmin 3.6 and Flask 1.0.2 with the >> packaging management of gentoo and it works. >> >> I have also installed a virtual environment for pgadmin >> 4.1 (which I installed from the wheel file with pip). So >> the result of pip freeze | grep Flask in this environment >> is this: >> >> Flask==0.12.4 >> Flask-BabelEx==0.9.3 >> Flask-Gravatar==0.5.0 >> Flask-HTMLmin==1.3.2 >> Flask-Login==0.3.2 >> Flask-Mail==0.9.1 >> Flask-Migrate==2.1.1 >> Flask-Paranoid==0.2.0 >> Flask-Principal==0.4.0 >> Flask-Security==3.0.0 >> Flask-SQLAlchemy==2.3.2 >> Flask-WTF==0.14.2 >> >> I think this is correct. Then I configured apache like this: >> >> WSGIDaemonProcess pgadmin-virt user=apache group=apache >> processes=1 threads=25 python-home=/usr/local/pgadmin4 >> >> python-path=/usr/local/pgadmin4:/usr/local/pgadmin4/lib/python3.6/site-packages >> WSGIScriptAlias /pgadmin4-virt >> >> /usr/local/pgadmin4/lib/python3.6/site-packages/pgadmin4/pgAdmin4.wsgi >> >> <Directory >> /usr/local/pgadmin4/lib/python3.6/site-packages/pgadmin4> >> >> The directory path should be till web directory. It should >> be <Directory >> /usr/local/pgadmin4/lib/python3.6/site-packages/pgadmin4/*web*> >> >> WSGIProcessGroup pgadmin-virt >> WSGIApplicationGroup %{GLOBAL} >> WSGIScriptReloading On >> require all granted >> </Directory> >> >> Unfortunately, when I access the application (via >> http://localhost/pgadmin-virt), it still fails with the >> same error. What I am doing wrong ? >> >> Thanks in advance for your help. >> >> François >> >> Le 17/01/19 à 12:27, Khushboo Vashi a écrit : >>> >>> >>> On Wed, Jan 16, 2019 at 5:37 PM François Valenduc >>> <francoisvalen...@gmail.com >>> <mailto:francoisvalen...@gmail.com>> wrote: >>> >>> I updated flask in the virtual environnement as you >>> can see. Is is now. But when I install pgadmib, I >>> get this: >>> pgadmin4 4.1 has requirement Flask==0.12.4, but >>> you'll have flask 1.0.2 which is incompatible. >>> So what is in fact the required version of Flask for >>> pgadmin 4 ? >>> >>> >>> For pgAdmin 4 v4.1, Flask 0.12.4 is required. Flask >>> 1.0.2 is incompatible. >>> Also, you need to give the virtual environment path in >>> apache configuration file. >>> The link which I have provided could be the guide for you. >>> >>> Le mer. 16 janv. 2019 à 12:57, François Valenduc >>> <francoisvalen...@gmail.com >>> <mailto:francoisvalen...@gmail.com>> a écrit : >>> >>> It is indeed a problem with the flask version: >>> pip freeze in the virtual environnement give this: >>> alembic==1.0.6 >>> asn1crypto==0.24.0 >>> Babel==2.6.0 >>> bcrypt==3.1.5 >>> blinker==1.4 >>> cffi==1.11.5 >>> Click==7.0 >>> cryptography==2.4.2 >>> extras==1.0.0 >>> fixtures==3.0.0 >>> Flask==0.12.4 >>> >>> I installed the last version in the virtual >>> environnement, how can it be possible that pip >>> install the wrong version of Flask ? >>> >>> Le mer. 16 janv. 2019 à 06:08, Khushboo Vashi >>> <khushboo.va...@enterprisedb.com >>> <mailto:khushboo.va...@enterprisedb.com>> a écrit : >>> >>> One more thing, please upgrade to the latest >>> version i.e. pgAdmin 4 V 4.1. >>> >>> >>> On Tue, Jan 15, 2019 at 10:40 PM François >>> Valenduc <francoisvalen...@gmail.com >>> <mailto:francoisvalen...@gmail.com>> wrote: >>> >>> As suggested, I used a virtual >>> environnement following the instruction >>> from >>> http://gergap.de/using-virtualenv-on-gentoo.html >>> >>> Inside it, I installed pgadmin 4.1 with >>> pip install <whl file> (downloaded from >>> the pgadmin website). >>> I adapted the apache configuration as >>> follows: >>> >>> WSGIDaemonProcess pgadmin-net >>> processes=1 threads=25 python-home= >>> /usr/local/pgadmin4/ >>> WSGIScriptAlias /pgadmin4 >>> >>> /usr/local/pgadmin4/lib/python3.6/site-packages/pgadmin4/pgAdmin4.wsgi >>> >>> >>> <Directory >>> >>> /usr/local/pgadmin4/lib/python3.6/site-packages/pgadmin4> >>> WSGIProcessGroup pgadmin-net >>> WSGIApplicationGroup %{GLOBAL} >>> AuthType Basic >>> AuthName "Restricted Area" >>> AuthUserFile /etc/apache2/.htpasswd >>> Require valid-user >>> </Directory> >>> >>> Unfortunately, it is still not working, >>> I am getting the same error. >>> >>> Best regards, >>> >>> François >>> >>> Le mar. 15 janv. 2019 à 07:29, Khushboo >>> Vashi <khushboo.va...@enterprisedb.com >>> <mailto:khushboo.va...@enterprisedb.com>> >>> a écrit : >>> >>> Can you set up your virtual >>> environment once again as I see your >>> Flask version is 1.0.2 and we have >>> 0.12.4 in pgAdmin 4. >>> >>> On Tue, Jan 15, 2019 at 2:16 AM >>> François Valenduc >>> <francoisvalen...@gmail.com >>> <mailto:francoisvalen...@gmail.com>> >>> wrote: >>> >>> Good evening, >>> >>> I am using pgadmin 3.6 on gentoo >>> as a wsgi application (with >>> apache) and >>> I get an error 500. I find this >>> in the logs: >>> >>> [Mon Jan 14 21:41:04.960251 >>> 2019] [wsgi:error] [pid 2173] >>> [remote >>> 127.0.0.1:60662 >>> <http://127.0.0.1:60662>] >>> mod_wsgi (pid=2173): Exception >>> occurred processing WSGI >>> script >>> '/usr/share/pgadmin4/web/pgAdmin4.wsgi'. >>> [Mon Jan 14 21:41:04.963700 >>> 2019] [wsgi:error] [pid 2173] >>> [remote >>> 127.0.0.1:60662 >>> <http://127.0.0.1:60662>] >>> Traceback (most recent call last): >>> [Mon Jan 14 21:41:04.963862 >>> 2019] [wsgi:error] [pid 2173] >>> [remote >>> 127.0.0.1:60662 >>> <http://127.0.0.1:60662>] File >>> >>> "/usr/lib64/python3.6/site-packages/flask/app.py", >>> line 2309, in __call__ >>> [Mon Jan 14 21:41:04.963876 >>> 2019] [wsgi:error] [pid 2173] >>> [remote >>> 127.0.0.1:60662 >>> <http://127.0.0.1:60662>] >>> return self.wsgi_app(environ, >>> start_response) >>> [Mon Jan 14 21:41:04.963891 >>> 2019] [wsgi:error] [pid 2173] >>> [remote >>> 127.0.0.1:60662 >>> <http://127.0.0.1:60662>] File >>> >>> "/usr/lib64/python3.6/site-packages/flask/app.py", >>> line 2295, in wsgi_app >>> [Mon Jan 14 21:41:04.963898 >>> 2019] [wsgi:error] [pid 2173] >>> [remote >>> 127.0.0.1:60662 >>> <http://127.0.0.1:60662>] >>> response = self.handle_exception(e) >>> [Mon Jan 14 21:41:04.963910 >>> 2019] [wsgi:error] [pid 2173] >>> [remote >>> 127.0.0.1:60662 >>> <http://127.0.0.1:60662>] File >>> >>> "/usr/lib64/python3.6/site-packages/flask/app.py", >>> line 1741, in >>> handle_exception >>> [Mon Jan 14 21:41:04.963917 >>> 2019] [wsgi:error] [pid 2173] >>> [remote >>> 127.0.0.1:60662 >>> <http://127.0.0.1:60662>] >>> reraise(exc_type, exc_value, tb) >>> [Mon Jan 14 21:41:04.963928 >>> 2019] [wsgi:error] [pid 2173] >>> [remote >>> 127.0.0.1:60662 >>> <http://127.0.0.1:60662>] File >>> >>> "/usr/lib64/python3.6/site-packages/flask/_compat.py", >>> line 35, in reraise >>> [Mon Jan 14 21:41:04.963935 >>> 2019] [wsgi:error] [pid 2173] >>> [remote >>> 127.0.0.1:60662 >>> <http://127.0.0.1:60662>] >>> raise value >>> [Mon Jan 14 21:41:04.963946 >>> 2019] [wsgi:error] [pid 2173] >>> [remote >>> 127.0.0.1:60662 >>> <http://127.0.0.1:60662>] File >>> >>> "/usr/lib64/python3.6/site-packages/flask/app.py", >>> line 2292, in wsgi_app >>> [Mon Jan 14 21:41:04.963953 >>> 2019] [wsgi:error] [pid 2173] >>> [remote >>> 127.0.0.1:60662 >>> <http://127.0.0.1:60662>] >>> response = >>> self.full_dispatch_request() >>> [Mon Jan 14 21:41:04.963975 >>> 2019] [wsgi:error] [pid 2173] >>> [remote >>> 127.0.0.1:60662 >>> <http://127.0.0.1:60662>] File >>> >>> "/usr/lib64/python3.6/site-packages/flask/app.py", >>> line 1815, in >>> full_dispatch_request >>> [Mon Jan 14 21:41:04.963982 >>> 2019] [wsgi:error] [pid 2173] >>> [remote >>> 127.0.0.1:60662 >>> <http://127.0.0.1:60662>] rv >>> = self.handle_user_exception(e) >>> [Mon Jan 14 21:41:04.963993 >>> 2019] [wsgi:error] [pid 2173] >>> [remote >>> 127.0.0.1:60662 >>> <http://127.0.0.1:60662>] File >>> >>> "/usr/lib64/python3.6/site-packages/flask/app.py", >>> line 1718, in >>> handle_user_exception >>> [Mon Jan 14 21:41:04.964000 >>> 2019] [wsgi:error] [pid 2173] >>> [remote >>> 127.0.0.1:60662 >>> <http://127.0.0.1:60662>] >>> reraise(exc_type, exc_value, tb) >>> [Mon Jan 14 21:41:04.964011 >>> 2019] [wsgi:error] [pid 2173] >>> [remote >>> 127.0.0.1:60662 >>> <http://127.0.0.1:60662>] File >>> >>> "/usr/lib64/python3.6/site-packages/flask/_compat.py", >>> line 35, in reraise >>> [Mon Jan 14 21:41:04.964017 >>> 2019] [wsgi:error] [pid 2173] >>> [remote >>> 127.0.0.1:60662 >>> <http://127.0.0.1:60662>] >>> raise value >>> [Mon Jan 14 21:41:04.964028 >>> 2019] [wsgi:error] [pid 2173] >>> [remote >>> 127.0.0.1:60662 >>> <http://127.0.0.1:60662>] File >>> >>> "/usr/lib64/python3.6/site-packages/flask/app.py", >>> line 1813, in >>> full_dispatch_request >>> [Mon Jan 14 21:41:04.964035 >>> 2019] [wsgi:error] [pid 2173] >>> [remote >>> 127.0.0.1:60662 >>> <http://127.0.0.1:60662>] rv >>> = self.dispatch_request() >>> [Mon Jan 14 21:41:04.964045 >>> 2019] [wsgi:error] [pid 2173] >>> [remote >>> 127.0.0.1:60662 >>> <http://127.0.0.1:60662>] File >>> >>> "/usr/lib64/python3.6/site-packages/flask/app.py", >>> line 1799, in >>> dispatch_request >>> [Mon Jan 14 21:41:04.964052 >>> 2019] [wsgi:error] [pid 2173] >>> [remote >>> 127.0.0.1:60662 >>> <http://127.0.0.1:60662>] return >>> >>> self.view_functions[rule.endpoint](**req.view_args) >>> [Mon Jan 14 21:41:04.964063 >>> 2019] [wsgi:error] [pid 2173] >>> [remote >>> 127.0.0.1:60662 >>> <http://127.0.0.1:60662>] File >>> >>> "/usr/lib64/python3.6/site-packages/flask_security/decorators.py", >>> line >>> 230, in wrapper >>> [Mon Jan 14 21:41:04.964069 >>> 2019] [wsgi:error] [pid 2173] >>> [remote >>> 127.0.0.1:60662 >>> <http://127.0.0.1:60662>] >>> return f(*args, **kwargs) >>> [Mon Jan 14 21:41:04.964080 >>> 2019] [wsgi:error] [pid 2173] >>> [remote >>> 127.0.0.1:60662 >>> <http://127.0.0.1:60662>] File >>> >>> "/usr/lib64/python3.6/site-packages/flask_security/views.py", >>> line 89, >>> in login >>> [Mon Jan 14 21:41:04.964086 >>> 2019] [wsgi:error] [pid 2173] >>> [remote >>> 127.0.0.1:60662 >>> <http://127.0.0.1:60662>] >>> **_ctx('login')) >>> [Mon Jan 14 21:41:04.964097 >>> 2019] [wsgi:error] [pid 2173] >>> [remote >>> 127.0.0.1:60662 >>> <http://127.0.0.1:60662>] File >>> >>> "/usr/lib64/python3.6/site-packages/flask_security/core.py", >>> line 528, >>> in render_template >>> [Mon Jan 14 21:41:04.964103 >>> 2019] [wsgi:error] [pid 2173] >>> [remote >>> 127.0.0.1:60662 >>> <http://127.0.0.1:60662>] >>> return render_template(*args, >>> **kwargs) >>> [Mon Jan 14 21:41:04.964114 >>> 2019] [wsgi:error] [pid 2173] >>> [remote >>> 127.0.0.1:60662 >>> <http://127.0.0.1:60662>] File >>> >>> "/usr/lib64/python3.6/site-packages/flask/templating.py", >>> line 135, in >>> render_template >>> [Mon Jan 14 21:41:04.964120 >>> 2019] [wsgi:error] [pid 2173] >>> [remote >>> 127.0.0.1:60662 >>> <http://127.0.0.1:60662>] >>> context, ctx.app) >>> [Mon Jan 14 21:41:04.964131 >>> 2019] [wsgi:error] [pid 2173] >>> [remote >>> 127.0.0.1:60662 >>> <http://127.0.0.1:60662>] File >>> >>> "/usr/lib64/python3.6/site-packages/flask/templating.py", >>> line 117, in >>> _render >>> [Mon Jan 14 21:41:04.964137 >>> 2019] [wsgi:error] [pid 2173] >>> [remote >>> 127.0.0.1:60662 >>> <http://127.0.0.1:60662>] rv >>> = template.render(context) >>> [Mon Jan 14 21:41:04.964154 >>> 2019] [wsgi:error] [pid 2173] >>> [remote >>> 127.0.0.1:60662 >>> <http://127.0.0.1:60662>] File >>> >>> "/usr/lib64/python3.6/site-packages/jinja2/asyncsupport.py", >>> line 76, in >>> render >>> [Mon Jan 14 21:41:04.964165 >>> 2019] [wsgi:error] [pid 2173] >>> [remote >>> 127.0.0.1:60662 >>> <http://127.0.0.1:60662>] >>> return original_render(self, >>> *args, **kwargs) >>> [Mon Jan 14 21:41:04.964195 >>> 2019] [wsgi:error] [pid 2173] >>> [remote >>> 127.0.0.1:60662 >>> <http://127.0.0.1:60662>] File >>> >>> "/usr/lib64/python3.6/site-packages/jinja2/environment.py", >>> line 1008, >>> in render >>> [Mon Jan 14 21:41:04.964204 >>> 2019] [wsgi:error] [pid 2173] >>> [remote >>> 127.0.0.1:60662 >>> <http://127.0.0.1:60662>] >>> return >>> >>> self.environment.handle_exception(exc_info, >>> True) >>> [Mon Jan 14 21:41:04.964223 >>> 2019] [wsgi:error] [pid 2173] >>> [remote >>> 127.0.0.1:60662 >>> <http://127.0.0.1:60662>] File >>> >>> "/usr/lib64/python3.6/site-packages/jinja2/environment.py", >>> line 780, in >>> handle_exception >>> [Mon Jan 14 21:41:04.964245 >>> 2019] [wsgi:error] [pid 2173] >>> [remote >>> 127.0.0.1:60662 >>> <http://127.0.0.1:60662>] >>> reraise(exc_type, exc_value, tb) >>> [Mon Jan 14 21:41:04.964259 >>> 2019] [wsgi:error] [pid 2173] >>> [remote >>> 127.0.0.1:60662 >>> <http://127.0.0.1:60662>] File >>> >>> "/usr/lib64/python3.6/site-packages/jinja2/_compat.py", >>> line 37, in reraise >>> [Mon Jan 14 21:41:04.964266 >>> 2019] [wsgi:error] [pid 2173] >>> [remote >>> 127.0.0.1:60662 >>> <http://127.0.0.1:60662>] >>> raise value.with_traceback(tb) >>> [Mon Jan 14 21:41:04.964287 >>> 2019] [wsgi:error] [pid 2173] >>> [remote >>> 127.0.0.1:60662 >>> <http://127.0.0.1:60662>] File >>> >>> "/usr/share/pgadmin4/web/pgadmin/templates/security/login_user.html", >>> line 1, in top-level template code >>> [Mon Jan 14 21:41:04.964298 >>> 2019] [wsgi:error] [pid 2173] >>> [remote >>> 127.0.0.1:60662 >>> <http://127.0.0.1:60662>] {% >>> extends "security/panel.html" %} >>> [Mon Jan 14 21:41:04.964316 >>> 2019] [wsgi:error] [pid 2173] >>> [remote >>> 127.0.0.1:60662 >>> <http://127.0.0.1:60662>] File >>> >>> "/usr/share/pgadmin4/web/pgadmin/templates/security/panel.html", >>> line 2, >>> in top-level template code >>> [Mon Jan 14 21:41:04.964323 >>> 2019] [wsgi:error] [pid 2173] >>> [remote >>> 127.0.0.1:60662 >>> <http://127.0.0.1:60662>] {% >>> from "security/fields.html" import >>> render_field_with_errors %} >>> [Mon Jan 14 21:41:04.964334 >>> 2019] [wsgi:error] [pid 2173] >>> [remote >>> 127.0.0.1:60662 >>> <http://127.0.0.1:60662>] File >>> >>> "/usr/share/pgadmin4/web/pgadmin/templates/base.html", >>> line 70, in >>> top-level template code >>> [Mon Jan 14 21:41:04.964353 >>> 2019] [wsgi:error] [pid 2173] >>> [remote >>> 127.0.0.1:60662 >>> <http://127.0.0.1:60662>] {% >>> block body %}{% endblock %} >>> [Mon Jan 14 21:41:04.964364 >>> 2019] [wsgi:error] [pid 2173] >>> [remote >>> 127.0.0.1:60662 >>> <http://127.0.0.1:60662>] File >>> >>> "/usr/share/pgadmin4/web/pgadmin/templates/security/panel.html", >>> line >>> 14, in block "body" >>> [Mon Jan 14 21:41:04.964370 >>> 2019] [wsgi:error] [pid 2173] >>> [remote >>> 127.0.0.1:60662 >>> <http://127.0.0.1:60662>] {% >>> block panel_body %} >>> [Mon Jan 14 21:41:04.964380 >>> 2019] [wsgi:error] [pid 2173] >>> [remote >>> 127.0.0.1:60662 >>> <http://127.0.0.1:60662>] File >>> >>> "/usr/share/pgadmin4/web/pgadmin/templates/security/login_user.html", >>> line 23, in block "panel_body" >>> [Mon Jan 14 21:41:04.964387 >>> 2019] [wsgi:error] [pid 2173] >>> [remote >>> 127.0.0.1:60662 >>> <http://127.0.0.1:60662>] >>> <span class="help-block">{{ >>> _('Forgotten your <a >>> href="%(url)s">password</a>?', >>> url=url_for('browser.forgot_password')) >>> }}</span> >>> [Mon Jan 14 21:41:04.964397 >>> 2019] [wsgi:error] [pid 2173] >>> [remote >>> 127.0.0.1:60662 >>> <http://127.0.0.1:60662>] File >>> >>> "/usr/lib64/python3.6/site-packages/flask/helpers.py", >>> line 330, in url_for >>> [Mon Jan 14 21:41:04.964403 >>> 2019] [wsgi:error] [pid 2173] >>> [remote >>> 127.0.0.1:60662 >>> <http://127.0.0.1:60662>] >>> appctx.app.inject_url_defaults(endpoint, >>> values) >>> [Mon Jan 14 21:41:04.964413 >>> 2019] [wsgi:error] [pid 2173] >>> [remote >>> 127.0.0.1:60662 >>> <http://127.0.0.1:60662>] File >>> >>> "/usr/lib64/python3.6/site-packages/flask/app.py", >>> line 2042, in >>> inject_url_defaults >>> [Mon Jan 14 21:41:04.964419 >>> 2019] [wsgi:error] [pid 2173] >>> [remote >>> 127.0.0.1:60662 >>> <http://127.0.0.1:60662>] >>> func(endpoint, values) >>> [Mon Jan 14 21:41:04.964429 >>> 2019] [wsgi:error] [pid 2173] >>> [remote >>> 127.0.0.1:60662 >>> <http://127.0.0.1:60662>] File >>> >>> "/usr/share/pgadmin4/web/pgadmin/__init__.py", >>> line 635, in add_internal_version >>> [Mon Jan 14 21:41:04.964435 >>> 2019] [wsgi:error] [pid 2173] >>> [remote >>> 127.0.0.1:60662 >>> <http://127.0.0.1:60662>] >>> urls = [url for url in >>> app.url_map.iter_rules(endpoint)] >>> [Mon Jan 14 21:41:04.964445 >>> 2019] [wsgi:error] [pid 2173] >>> [remote >>> 127.0.0.1:60662 >>> <http://127.0.0.1:60662>] File >>> >>> "/usr/lib64/python3.6/site-packages/werkzeug/routing.py", >>> line 1205, in >>> iter_rules >>> [Mon Jan 14 21:41:04.964451 >>> 2019] [wsgi:error] [pid 2173] >>> [remote >>> 127.0.0.1:60662 >>> <http://127.0.0.1:60662>] >>> return >>> iter(self._rules_by_endpoint[endpoint]) >>> [Mon Jan 14 21:41:04.964478 >>> 2019] [wsgi:error] [pid 2173] >>> [remote >>> 127.0.0.1:60662 >>> <http://127.0.0.1:60662>] >>> KeyError: 'browser.forgot_password' >>> >>> The output of pip freeze is the >>> following: >>> >>> acme==0.30.0 >>> alembic==0.9.7 >>> asn1crypto==0.22.0 >>> attrs==16.3.0 >>> Babel==2.5.3 >>> backports==1.0 >>> backports-abc==0.5 >>> backports.csv==1.0.5 >>> bcrypt==3.1.3 >>> beautifulsoup4==4.5.1 >>> bleach==2.1.3 >>> blinker==1.4 >>> Bottleneck==1.0.0 >>> bsddb3==6.2.4 >>> cairocffi==0.8.0 >>> certbot==0.30.0 >>> certbot-apache==0.30.0 >>> certifi==2018.4.16 >>> cffi==1.11.4 >>> chardet==3.0.4 >>> click==6.7 >>> ConfigArgParse==0.11.0 >>> configobj==5.0.6 >>> constantly==15.1.0 >>> coverage==4.2 >>> cryptography==2.2.2 >>> cycler==0.10.0 >>> Cython==0.25.2 >>> decorator==4.2.1 >>> defusedxml==0.5.0 >>> docker==2.7.0 >>> docker-pycreds==0.3.0 >>> docutils==0.13.1 >>> entrypoints==0.2.3 >>> extras==1.0.0 >>> fail2ban==0.10.4 >>> fixtures==3.0.0 >>> Flask==1.0.2 >>> Flask-Babel==0.11.2 >>> Flask-BabelEx==0.9.3 >>> Flask-Gravatar==0.5.0 >>> Flask-HTMLmin==1.3.2 >>> Flask-Login==0.3.2 >>> Flask-Mail==0.9.1 >>> Flask-Migrate==2.1.1 >>> Flask-Paranoid==0.2.0 >>> Flask-Principal==0.4.0 >>> Flask-Security==3.0.0 >>> Flask-SQLAlchemy==2.3.2 >>> Flask-WTF==0.14.2 >>> funcsigs==1.0.2 >>> future==0.16.0 >>> GDAL==2.3.0 >>> gdbus-codegen==2.56.4 >>> gemato==14.0 >>> gentoolkit==0.4.2.post1 >>> gevent==1.2.1 >>> greenlet==0.4.12 >>> html5lib==1.0.1 >>> htmlmin==0.1.12 >>> httplib2==0.10.3 >>> idna==2.5 >>> incremental==16.10.1 >>> iotop==0.6 >>> ipaddr==2.1.11 >>> ipykernel==4.6.1 >>> ipyparallel==6.0.2 >>> ipython==5.4.1 >>> ipython-genutils==0.2.0 >>> ipywidgets==7.0.0 >>> isodate==0.5.4 >>> itsdangerous==0.24 >>> java-config==2.2.0 >>> jedi==0.10.2 >>> Jinja2==2.10 >>> josepy==1.1.0 >>> jsonschema==2.6.0 >>> jupyter==1.1.0 >>> jupyter-client==5.1.0 >>> jupyter-console==5.1.0 >>> jupyter-core==4.4.0 >>> kiwisolver==1.0.1 >>> layman==2.4.2 >>> lensfun==0.3.2 >>> libvirt-python==4.9.0 >>> linecache2==1.0.0 >>> lxml==4.2.5 >>> Mako==1.0.6 >>> Markdown==2.6.8 >>> MarkupSafe==0.23 >>> matplotlib==2.2.2 >>> meson==0.48.2 >>> mimeparse==1.6.0 >>> mirrorselect==2.2.3 >>> mistune==0.8.3 >>> mock==2.0.0 >>> nbconvert==5.2.1 >>> nbformat==4.4.0 >>> ndg-httpsclient==0.4.0 >>> nose==1.3.7 >>> notebook==5.0.0 >>> numexpr==2.6.1 >>> numpy==1.14.5 >>> olefile==0.44 >>> OWSLib==0.16.0 >>> pandas==0.19.1 >>> pandocfilters==1.4.2 >>> paramiko==2.4.2 >>> parsedatetime==2.4 >>> passlib==1.7.1 >>> path.py==8.1.2 >>> pathlib2==2.3.0 >>> pbr==4.2.0 >>> pexpect==4.2.1 >>> pickleshare==0.7.4 >>> Pillow==5.3.0 >>> ply==3.9 >>> portage==2.3.51 >>> prompt-toolkit==1.0.15 >>> psutil==5.4.7 >>> psycopg2==2.7.4 >>> ptyprocess==0.5.1 >>> py==1.4.34 >>> pyasn1==0.2.3 >>> pyasn1-modules==0.0.8 >>> pyblake2==1.1.2 >>> pycairo==1.17.0 >>> pycparser==2.14 >>> pycrypto==2.6.1 >>> pycurl==7.43.0 >>> Pygments==2.2.0 >>> pygobject==3.28.3 >>> PyNaCl==1.2.1 >>> PyOpenGL==3.1.0 >>> pyOpenSSL==17.5.0 >>> pyparsing==2.2.0 >>> pyproj==1.9.5.1 >>> pyRFC3339==1.0 >>> pyrsistent==0.14.2 >>> PySocks==1.6.7 >>> pytest==3.2.2 >>> pytest-runner==2.6.2 >>> python-augeas==0.5.0 >>> python-dateutil==2.7.2 >>> python-editor==1.0.3 >>> python-mimeparse==1.6.0 >>> python-subunit==1.2.0 >>> pytz==2018.4 >>> pyxattr==0.6.0 >>> PyYAML==3.13 >>> pyzmq==16.0.2 >>> qtconsole==4.3.1 >>> rdflib==4.2.2 >>> regex==2017.4.5 >>> reportlab==3.3.0 >>> requests==2.18.4 >>> requests-toolbelt==0.8.0 >>> rfc3987==1.3.7 >>> scandir==1.7 >>> scikit-learn==0.19.0 >>> scipy==0.19.1 >>> scrypt==0.8.0 >>> service-identity==16.0.0 >>> setuptools-scm==1.15.6 >>> simplegeneric==0.8.1 >>> simplejson==3.13.2 >>> sip==4.19.13 >>> six==1.11.0 >>> speaklater==1.3 >>> SQLAlchemy==1.2.7 >>> sqlparse==0.2.4 >>> sshtunnel==0.1.3 >>> ssl-fetch==0.4 >>> strict-rfc3339==0.6 >>> systemd-python==233 >>> terminado==0.5 >>> testpath==0.1 >>> testtools==2.3.0 >>> tornado==4.5.3 >>> traceback2==1.4.0 >>> traitlets==4.3.2 >>> Twisted==16.6.0 >>> unittest2==1.1.0 >>> urllib3==1.22 >>> vcversioner==2.16.0.0 >>> versioneer==0.16 >>> virtualenv==15.1.0 >>> wcwidth==0.1.7 >>> webapp-config==1.55 >>> webcolors==1.5 >>> webencodings==0.5.1 >>> websocket-client==0.48.0 >>> Werkzeug==0.14.1 >>> widgetsnbextension==3.0.0 >>> WTForms==2.1 >>> xcffib==0.5.1 >>> youtube-dl==2019.1.10 >>> zope.component==4.3.0 >>> zope.event==4.2.0 >>> zope.interface==4.4.3 >>> >>> Does anybody has an idea about >>> this problem ? >>> >>> Thanks in advance, >>> >>> Best regards. >>> >>> François Valenduc >>> >>>