A RetroSearch Logo

Home - News ( United States | United Kingdom | Italy | Germany ) - Football scores

Search Query:

Showing content from https://mail.python.org/pipermail/python-dev/2015-October/141848.html below:

[Python-Dev] Issue #25256: Add sys.debug_build?

[Python-Dev] Issue #25256: Add sys.debug_build?Victor Stinner victor.stinner at gmail.com
Fri Oct 2 09:18:43 CEST 2015
Hi,

I created the issue "Add sys.debug_build public variable to check if
Python was compiled in debug mode": http://bugs.python.org/issue25256

I would like to add an obvious way to check if Python was compiled in
debug mode, instead of having hacks/tips to check it. On the Internet,
I found various recipes to check if Python is compiled is debug mode.
Sadly, some of them are not portable. For example, 3 different checks
are proposed on StackOverflow but 2 of them are specific to Windows:
http://stackoverflow.com/questions/646518/python-how-to-detect-debug-interpreter

 Even if the exact impact of a debug build depends on the Python
implementation and the Python version, we can use it to have the same
behaviour on all Python implementations. For example, the warnings
module shows warnings by default if Python is compiled in debug mode:
Extract of my patch:

-    if hasattr(sys, 'gettotalrefcount'):
+    if sys.debug_build:
         resource_action = "always"
     else:
         resource_action = "ignore"

Alternative: Add a new sys.implementation.debug_build flag. Problem:
extending sys.implementation requires a new PEP, and I don't think
that debug_build fits into this object.

Berker Peksag likes the idea.

Serhiy Storchaka dislike the new flag: "I don't like this. The sys
module is one of most used module, but it has too many members, and
adding yet one makes the situation worse." (sys has 81 symbols)
"Checking for debug mode is not often needed, and mainly in tests.
Current way ``hasattr(sys, 'gettotalrefcount')`` works good. You also
can check ``'d' in sys.abiflags`` if it looks cleaner to you. Or add a
member to test.support."

The name "debug_build" comes from the existing
sysconfig.is_python_build() function. There is a sys.flags.debug flag,
so "sys.debug" can be confusing. I prefer to attach the "build"
suffix.

First I proposed a function sys.is_debug_build(), but a flag is
simpler than a function. There is not need to compute a version it's
known at build time.

What do you think? Should we add sys.debug_build?

Victor
More information about the Python-Dev mailing list

RetroSearch is an open source project built by @garambo | Open a GitHub Issue

Search and Browse the WWW like it's 1997 | Search results from DuckDuckGo

HTML: 3.2 | Encoding: UTF-8 | Version: 0.7.4