Dealing with Bugs¶
Python is a mature programming language which has established a reputation for stability. In order to maintain this reputation, the developers would like to know of any deficiencies you find in Python.
It can be sometimes faster to fix bugs yourself and contribute patches to Python as it streamlines the process and involves less people. Learn how to contribute .
Documentation bugs¶
If you find a bug in this documentation or would like to propose an improvement, please submit a bug report on the tracker . If you have a suggestion on how to fix it, include that as well.
You can also open a discussion item on our Documentation Discourse forum.
If you’re short on time, you can also email documentation bug reports to docs @ python . org (behavioral bugs can be sent to python-list @ python . org). ‘docs@’ is a mailing list run by volunteers; your request will be noticed, though it may take a while to be processed.
A list of documentation bugs that have been submitted to the Python issue tracker.
Overview of the process involved in reporting an improvement on the tracker.
Comprehensive guide for individuals that are interested in contributing to Python documentation.
A list of GitHub pages for documentation translation and their primary contacts.
Using the Python issue tracker¶
Issue reports for Python itself should be submitted via the GitHub issues tracker (https://github.com/python/cpython/issues). The GitHub issues tracker offers a web form which allows pertinent information to be entered and submitted to the developers.
The first step in filing a report is to determine whether the problem has already been reported. The advantage in doing so, aside from saving the developers’ time, is that you learn what has been done to fix it; it may be that the problem has already been fixed for the next release, or additional information is needed (in which case you are welcome to provide it if you can!). To do this, search the tracker using the search box at the top of the page.
If the problem you’re reporting is not already in the list, log in to GitHub. If you don’t already have a GitHub account, create a new account using the “Sign up” link. It is not possible to submit a bug report anonymously.
Being now logged in, you can submit an issue. Click on the “New issue” button in the top bar to report a new issue.
The submission form has two fields, “Title” and “Comment”.
For the “Title” field, enter a very short description of the problem; fewer than ten words is good.
In the “Comment” field, describe the problem in detail, including what you expected to happen and what did happen. Be sure to include whether any extension modules were involved, and what hardware and software platform you were using (including version information as appropriate).
Each issue report will be reviewed by a developer who will determine what needs to be done to correct the problem. You will receive an update each time an action is taken on the issue.
Article which goes into some detail about how to create a useful bug report. This describes what kind of information is useful and why it is useful.
Information about writing a good bug report. Some of this is specific to the Mozilla project, but describes general good practices.
Getting started contributing to Python yourself¶
Beyond just reporting bugs that you find, you are also welcome to submit patches to fix them. You can find more information on how to get started patching Python in the Python Developer’s Guide. If you have questions, the core-mentorship mailing list is a friendly place to get answers to any and all questions pertaining to the process of fixing issues in Python.
Table of Contents
Bugs on my python
➜
This issue tracker has been migrated to GitHub, and is currently read-only.
For more information, see the GitHub FAQs in the Python’s Developer Guide.
ID | GH | Действие | Заглавие | Статус | Автор | Исполнитель | Тип | Msgs | ||
---|---|---|---|---|---|---|---|---|---|---|
2771 | 47020 | 15 месяцев назад | Test issue | open | gvanrossum | ezio.melotti | behavior | 145 | ||
24778 | 68966 | 15 месяцев назад | [CVE-2015-20107] mailcap.findmatch: document shell command Injection danger in filename parameter | open | TheRegRunner | docs@python | security | 15 | ||
47261 | 91417 | 15 месяцев назад | RFC: Clarify usage of macros for PySequence_Fast within the Limited C API | open | rgoswami | docs@python | 2 | |||
47259 | 91415 | 15 месяцев назад | Clarify SortingHOWTO regarding locale aware string sorting | open | CendioOssman | rhettinger | 2 | |||
47258 | 91414 | 15 месяцев назад | Python 3.10 hang at exit in drop_gil() (due to resource warning at exit?) | open | rpurdie | 1 | ||||
47256 | 91412 | 15 месяцев назад | re: limit the maximum capturing group to 1,073,741,823, reduce sizeof(match_context). | open | malin | resource usage | 1 | |||
47255 | 91411 | 15 месяцев назад | Many broken :meth: roles in the docs | open | JelleZijlstra | docs@python | 3 | |||
47254 | 91410 | 15 месяцев назад | enhanced dir? | open | apostofes | enhancement | 4 | |||
47253 | 91409 | 15 месяцев назад | LOAD_GLOBAL instruction with wrong source position | open | 15r10nk | behavior | 1 | |||
47252 | 91408 | 15 месяцев назад | socket.makefile documentation is missing data regarding the ‘buffering’ parameter | open | alon.menczer | docs@python | enhancement | 1 | ||
47251 | 91407 | 15 месяцев назад | Merge BINARY_SUBSCR_LIST_INT with BINARY_SUBSCR_LIST_TUPLE | open | pieter.eendebak | 1 | ||||
47249 | 91405 | 15 месяцев назад | test_multiprocessing_fork probabilistic failure | open | sxt1001 | behavior | 2 | |||
47248 | 91404 | 15 месяцев назад | Possible slowdown of regex searching in 3.11 | open | Mark.Shannon | performance | 4 | |||
47247 | 91403 | 15 месяцев назад | Default arguments for access ‘mode’ parameters in pathlib and os should display as octal literals | open | AidanWoolley | docs@python | enhancement | 2 | ||
47244 | 91400 | 15 месяцев назад | email.utils.formataddr does not respect double spaces | open | AlecRosenbaum | behavior | 1 | |||
47243 | 91399 | 15 месяцев назад | Duplicate entry in ‘Objects/unicodetype_db.h’ | open | LiarPrincess | enhancement | 2 | |||
47242 | 91398 | 15 месяцев назад | Annoying white bar in IDLE (line 457 in sidebar.py) | open | antudic | terry.reedy | behavior | 1 | ||
47241 | 91397 | 15 месяцев назад | [C API] Move the PyCodeObject structure to the internal C API (make the structure opaque) | open | vstinner | 1 | ||||
47240 | 91396 | 15 месяцев назад | Python 3.x built for ppc+ppc64 errs on: No module named ‘msvcrt’, ‘_posixsubprocess’ | open | barracuda156 | compile error | 2 | |||
47238 | 91394 | 15 месяцев назад | Python threading.Event().wait() depends on the system time | open | AleksandrAQ | behavior | 1 | |||
47237 | 91393 | 15 месяцев назад | Inheritance from base class with property in class makes them non-instantiatable | open | Germandrummer92 | behavior | 5 | |||
47236 | 91392 | 15 месяцев назад | Document types.CodeType.replace() changes about co_exceptiontable | open | vstinner | docs@python | 1 | |||
47234 | 91390 | 15 месяцев назад | PEP-484 «numeric tower» approach makes it hard/impossible to specify contracts in documentation | open | tfish2 | 6 | ||||
47233 | 91389 | 15 месяцев назад | show_caches option affects code positions reported by dis.get_instructions(. ) | | open | 15r10nk | behavior | 3 | ||
47231 | 91387 | 15 месяцев назад | TarFile.getmember cannot work on tar sourced directory over 100 characters | open | cfernald | behavior | 2 | |||
47228 | 91384 | 15 месяцев назад | Document that naïve datetime objects represent local time | open | p-ganssle | p-ganssle | enhancement | 1 | ||
47222 | 91378 | 15 месяцев назад | subprocess.Popen() should allow capturing output and sending it to stdout and stderr | open | pprindeville | enhancement | 1 | |||
47220 | 91376 | 15 месяцев назад | Document the optional callback parameter of weakref.WeakMethod | open | maggyero | enhancement | 2 | |||
47219 | 91375 | 15 месяцев назад | asyncio with two interpreter instances | open | mbadaire | behavior | 1 | |||
47218 | 91374 | 15 месяцев назад | adding name to lzmafile | open | ellaellela | enhancement | 1 | |||
47217 | 91373 | 15 месяцев назад | adding name to BZ2File | open | ellaellela | enhancement | 1 | |||
47216 | 91372 | 15 месяцев назад | adding mtime option to gzip open() | open | ellaellela | enhancement | 1 | |||
47215 | 91371 | 15 месяцев назад | Add «unstable» frame stack api | open | Mark.Shannon | Mark.Shannon | enhancement | 1 | ||
47214 | 91370 | 15 месяцев назад | builtin_function_or_method is also either a function or a method | open | apostofes | 5 | ||||
47209 | 91365 | 15 месяцев назад | Documentation for asserting values of `unittest.mock.Mock.call_args_list` | open | himkt | docs@python | behavior | 3 | ||
47208 | 91364 | 15 месяцев назад | Support libffi implementations that cannot support invocations with 1024 arguments | open | hoodchatham | behavior | 4 | |||
47207 | 91363 | 15 месяцев назад | Switch datetime docstrings / documentation to using «Returns» rather than «Return»? | open | p-ganssle | docs@python | 2 | |||
47206 | 91362 | 15 месяцев назад | pickle docs are wrong about nested classes | open | JelleZijlstra | docs@python | behavior | 1 | ||
47205 | 91361 | 15 месяцев назад | posix.sched_ | open | christian.heimes | behavior | 9 | |||
47204 | 91360 | 15 месяцев назад | Ensure PyEval_GetGlobals() doesn’t set an exception when returning NULL | open | ncoghlan | ncoghlan | enhancement | 2 | ||
47201 | 91357 | 15 месяцев назад | pip3.10.4 is configured with locations that require TLS/SSL, however the ssl module in Python is not available | open | alessandro.pioli | 2 | ||||
47200 | 91356 | 15 месяцев назад | Add ZipInfo.mode property | | open | sam_ezeh | enhancement | 1 | ||
47199 | 91355 | 15 месяцев назад | multiprocessing: micro-optimize Connection.send_bytes() method | open | malin | resource usage | 1 | |||
47197 | 91353 | 15 месяцев назад | ctypes mishandles `void` return type | open | hoodchatham | behavior | 1 | |||
47195 | 91351 | 15 месяцев назад | importlib lock race issue in deadlock handling code | open | rpurdie | 2 | ||||
47194 | 91350 | 15 месяцев назад | Upgrade to zlib v1.2.12 in CPython binary releases | open | gregory.p.smith | security | 5 | |||
47193 | 91349 | 15 месяцев назад | Use zlib-ng rather than zlib in binary releases | open | gregory.p.smith | performance | 1 | |||
47192 | 91348 | 15 месяцев назад | sys._getframe audit event has frame as argument in 3.8-3.10 | open | Dutcho | 2 | ||||
47191 | 91347 | 15 месяцев назад | inspect — getasyncgeneratorstate, getasyncgeneratorlocals | open | animatea.programming | enhancement | 2 | |||
47187 | 91343 | 15 месяцев назад | locale module example is wrong for some platforms | open | smarie | docs@python | 1 |
How To Fix Bugs in Python?
If something is wrong with your code, Python will try to help you by displaying an error message. These error messages are just bugs in your code. In this article, I’ll walk you through how to fix bugs in Python.
How To Find Bugs in Python?
The bugs might seem a little confusing at first, but they’ll give you clues as to why your program isn’t working and how to fix it. Python displays error messages in a red coloured text in the shell window. The program stops working when an error message appears. That message tells you which line of code caused the error.
When an error message appears in the shell, right-click on it and choose “Go to File / Line” from the drop-down menu. The IDLE editor jumps directly to this line of code so that you can start debugging.
Types of Errors in Python
Before we look at how to fix bugs in Python, let’s take a quick look at the types of bugs in Python. There are mainly 5 types of bugs in Python:
- Syntax errors: When you receive a syntax error message, it indicates that you typed something wrong.
- Indentation errors: Python uses indentation to understand where blocks of code start and end. An indentation error means that something is wrong with the way you have structured the code.
- Type errors: A type error is not a typing error. This means that your code has mixed one data type with another, for example mistaking numbers for strings.
- Name errors: A name error message appears if your code uses the name of a variable or function that has not yet been created.
- Logic errors: Sometimes you can tell something is wrong even though Python hasn’t given you an error message because your program isn’t doing what you expected. You may have a logic error.
How To Fix Bugs in Python?
Sometimes you might think that you can never make a program work, but don’t give up. If you follow all of the tips mentioned below, you will be able to identify and fix most bugs in Python:
- If you are creating projects that are already common among the coding community, try searching the internet for it using error as a keyword. You will have a good idea.
- Check if everything is spelt correctly.
- Check if you have any unnecessary spaces at the start of a line.
- Check to see if you’ve been confused with numbers for letters, such as 0 and O.
- Check if you’ve used upper and lower case letters in the correct places.
- Check if all open parentheses have a corresponding closing parenthesis.
- Check if all single and double quotes have a matching closing quote.
- Ask for help on platforms like Stackoverflow, you can even ask us in the comments section below.
- Always make sure to save your code after making any changes.
I hope you liked this article on how to fix bugs in the Python programming language. Feel free to ask your valuable questions in the comments section below.