Python errors

Python exceptions: ImportError, KeyError, TypeError, IndentationError and more.

CodeErrorWhat it means
UnboundLocalError UnboundLocalError: cannot access local variable 'x' where it is not associated with a value A function assigns to a variable somewhere, which makes it local everywhere in that function — so reading it…
Pydantic ValidationError pydantic_core._pydantic_core.ValidationError: 1 validation error for Model Data didn’t match a Pydantic model — a field is missing, has the wrong type, or fails a constraint.
No module named distutils ModuleNotFoundError: No module named 'distutils' Python 3.12 removed distutils; old packages or tools that import it fail.
OSError Errno 98 OSError: [Errno 98] Address already in use The port your server wants to bind is already taken by another process.
ModuleNotFoundError ModuleNotFoundError: No module named 'x' Python can’t find the module you import — it isn’t installed in the interpreter/virtualenv that’s running, or…
TypeError: NoneType TypeError: 'NoneType' object is not subscriptable You used `[ ]` on a value that is `None` — typically a function that returned nothing.
DisallowedHost django.core.exceptions.DisallowedHost: Invalid HTTP_HOST header: 'x'. You may need to add 'x' to ALLOWED_HOSTS. The request’s Host header isn’t listed in Django’s ALLOWED_HOSTS.
ValueError ValueError: invalid literal for int() with base 10: 'abc' int() received a string that isn’t a whole number — empty, decimal, whitespace or text.
Django no such table django.db.utils.OperationalError: no such table: app_model Django queried a table that hasn’t been created — migrations missing or not applied.
Failed building wheel error: subprocess-exited-with-error / Failed building wheel for x pip had to compile a package from source and the build failed — missing compiler, headers or system libraries.
pip no matching distribution ERROR: Could not find a version that satisfies the requirement x (from versions: none) pip found no installable version of the package for your Python version, OS or index.
ConnectionRefusedError ConnectionRefusedError: [Errno 111] Connection refused Nothing is listening on the host/port Python tried to connect to.
IndexError IndexError: list index out of range Code accessed a list position that doesn’t exist.
requests ConnectionError requests.exceptions.ConnectionError: HTTPSConnectionPool(host=…, port=443): Max retries exceeded with url requests couldn’t connect — the inner error (NewConnectionError, NameResolutionError, SSLError, ConnectTimeou…
SyntaxError SyntaxError: invalid syntax Python couldn’t parse the code. The caret (^) points at or just after the mistake.
UnicodeDecodeError UnicodeDecodeError: 'utf-8' codec can't decode byte 0x92 in position 10: invalid start byte Python read bytes that aren’t valid in the encoding it assumed (usually UTF-8).
ZeroDivisionError ZeroDivisionError: division by zero A number was divided (or modulo’d) by zero.
UnicodeEncodeError UnicodeEncodeError: 'charmap' codec can't encode character '\u2192' Python tried to write text in an encoding that can’t represent some characters — common in Windows consoles a…
AttributeError AttributeError: 'X' object has no attribute 'y' You accessed an attribute or method that doesn’t exist on that object type.
ImproperlyConfigured django.core.exceptions.ImproperlyConfigured: settings are not configured / SECRET_KEY must not be empty Django can’t load its settings — DJANGO_SETTINGS_MODULE unset, a required setting missing, or an environment…
TypeError missing arg TypeError: f() missing 1 required positional argument: 'x' A function was called without a required parameter.
not JSON serializable TypeError: Object of type datetime is not JSON serializable json.dumps() met a type it doesn’t know how to encode (datetime, Decimal, set, custom objects).
KeyError KeyError: 'x' You accessed a dictionary key that doesn’t exist.
MemoryError MemoryError (Unable to allocate X GiB for an array) Python couldn’t allocate memory — the data is larger than available RAM or address space.
NameError NameError: name 'x' is not defined Python doesn’t know the name — it was never assigned/imported in this scope, or it’s misspelled.
SQLAlchemy IntegrityError sqlalchemy.exc.IntegrityError: (psycopg2.errors.UniqueViolation) duplicate key value violates unique constraint A database constraint (unique, foreign key, not null) rejected an insert/update made through SQLAlchemy.
SQLAlchemy OperationalError sqlalchemy.exc.OperationalError: (psycopg2.OperationalError) connection to server … failed SQLAlchemy’s DB driver raised an operational error — connection failures, lost connections or locked SQLite d…
ImportError ImportError: cannot import name 'x' from 'y' The module was found, but the name you’re importing from it doesn’t exist — usually a version change or a cir…
IndentationError IndentationError: unexpected indent / expected an indented block Python’s block structure is broken — inconsistent indentation or mixed tabs and spaces.
JSONDecodeError json.decoder.JSONDecodeError: Expecting value: line 1 column 1 (char 0) The text passed to json.loads() isn’t JSON — at char 0 it’s usually empty or HTML.
PermissionError PermissionError: [Errno 13] Permission denied: '/path' The OS refused the file operation — no permission, a directory passed to open(), or (on Windows) the file is…
Python not found Python was not found; run without arguments to install from the Microsoft Store Windows ran the Microsoft Store “App execution alias” instead of a real Python installation.
Flask app context RuntimeError: Working outside of application context. Code used current_app, g, or a Flask extension (like SQLAlchemy) without an active Flask application context.
never awaited RuntimeWarning: coroutine 'fetch' was never awaited An async function was called without await, so it never ran.
ValueError ambiguous truth ValueError: The truth value of a Series is ambiguous. Use a.empty, a.bool(), a.item(), a.any() or a.all(). A pandas Series/NumPy array was used where Python expects a single True/False (if, and, or).
numpy alias removed AttributeError: module 'numpy' has no attribute 'float' Code uses np.float/np.int/np.bool/np.object, which were removed in NumPy 1.24.
TemplateDoesNotExist django.template.exceptions.TemplateDoesNotExist: app/page.html Django searched all template directories and couldn’t find that template.
FileNotFoundError FileNotFoundError: [Errno 2] No such file or directory: 'data.csv' Python couldn’t find the file at that path — usually because relative paths resolve from the working director…
Django CSRF Forbidden (403) CSRF verification failed. Request aborted. Django rejected a POST because the CSRF token was missing, wrong, or the request origin isn’t trusted.
KeyboardInterrupt KeyboardInterrupt (script stopped with Ctrl+C) / ^C traceback The script was interrupted (Ctrl+C, SIGINT, or a container stop), producing a KeyboardInterrupt traceback.
Event loop is closed RuntimeError: Event loop is closed Async code tried to use an event loop that has already been shut down.
Jupyter kernel died The kernel appears to have died. It will restart automatically. The Jupyter kernel process crashed — usually out of memory or a native library crash.
TypeError concat TypeError: can only concatenate str (not "int") to str You joined a string and a non-string with +.
TypeError arguments TypeError: f() takes 1 positional argument but 2 were given A function was called with more positional arguments than it accepts — very often a method missing `self`.
TypeError operand TypeError: unsupported operand type(s) for +: 'int' and 'str' An operator was used between two incompatible types, such as adding a number to a string.
SettingWithCopyWarning SettingWithCopyWarning: A value is trying to be set on a copy of a slice from a DataFrame pandas can’t tell whether your assignment modifies the original DataFrame or a temporary copy.
unpack error ValueError: too many values to unpack (expected 2) Tuple unpacking got more (or fewer) values than variables on the left.
RuntimeError dict RuntimeError: dictionary changed size during iteration A dict (or set) was modified while being looped over.
TypeError not callable TypeError: 'str' object is not callable You used parentheses on something that isn’t a function — often a variable shadowing a built-in.
externally-managed-environment error: externally-managed-environment Your system Python (Debian 12+, Ubuntu 23.04+, Homebrew) refuses pip installs into the OS-managed environment…
RecursionError RecursionError: maximum recursion depth exceeded A function called itself (directly or indirectly) more than ~1000 times.
broadcast error ValueError: operands could not be broadcast together with shapes (3,) (4,) Two NumPy arrays have shapes that can’t be combined element-wise.
unhashable type TypeError: unhashable type: 'list' A mutable object (list, dict, set) was used as a dict key or set member.