mirror of
https://github.com/pallets-eco/flask-debugtoolbar.git
synced 2025-12-30 18:19:31 -06:00
fb28aa9d61a90c830028cd8e8b0a930c99d97c5e
distutils error on Python 3.12 (#238)
Running on Python 3.12 I see: ```shell [2024-04-11 11:01:12,915] WARNING in toolbar: Disabled flask_debugtoolbar.panels.versions.VersionDebugPanel due to ImportError: import_string() failed for 'flask_debugtoolbar.panels.versions.VersionDebugPanel'. Possible reasons are: - missing __init__.py in a package; - package or module path not included in sys.path; - duplicated package or module name taking precedence in sys.path; - missing module, class, function or variable; Debugged import: - 'flask_debugtoolbar' found in '/Users/jeffwidman/Code/open-source/flask-debugtoolbar/src/flask_debugtoolbar/__init__.py'. - 'flask_debugtoolbar.panels' found in '/Users/jeffwidman/Code/open-source/flask-debugtoolbar/src/flask_debugtoolbar/panels/__init__.py'. - 'flask_debugtoolbar.panels.versions' not found. Original exception: ModuleNotFoundError: No module named 'distutils' ``` This is because Python 3.12 removed `distutils`. Fix pulled from https://bugs.python.org/issue41282#msg393018. This will not work on Python `3.6`, but we've already dropped support for that. After the fix, the error is gone and the Versions panel re-appears.
Flask Debug-toolbar
===================
This is a port of the excellent `django-debug-toolbar <https://github.com/jazzband/django-debug-toolbar>`_
for Flask applications.
.. image:: https://github.com/pallets-eco/flask-debugtoolbar/actions/workflows/tests.yml/badge.svg
:target: https://github.com/pallets-eco/flask-debugtoolbar/actions
Installation
------------
Installing is simple with pip::
$ pip install flask-debugtoolbar
Usage
-----
Setting up the debug toolbar is simple::
from flask import Flask
from flask_debugtoolbar import DebugToolbarExtension
app = Flask(__name__)
# the toolbar is only enabled in debug mode:
app.debug = True
# set a 'SECRET_KEY' to enable the Flask session cookies
app.config['SECRET_KEY'] = '<replace with a secret key>'
toolbar = DebugToolbarExtension(app)
The toolbar will automatically be injected into Jinja templates when debug mode is on.
In production, setting ``app.debug = False`` will disable the toolbar.
See the `documentation`_ for more information.
.. _documentation: https://flask-debugtoolbar.readthedocs.io/
Description
Languages
JavaScript
75.3%
Python
16.3%
HTML
5.1%
CSS
3.3%