hello, is there some way to silence deprecationwarnings in a wxpython app? for example those showing up in stdout from wx.lib.plot as
wx\lib\plot\utils.py:255: PendingDeprecationWarning: GetEnablePointLabel
is pending deprecation. Please use self.enablePointLabel property
instead.
but also originating by other libraries I use. I redirect stdout to a textctrl
I should silence warnings from python code, not from python.exe command line
I’ve found this on SO but doesn’t seem to work:
import warnings
warnings.filterwarnings("ignore")
I use win10, python 3.5-64, wxpython 4.0.1
thanks in advance for hints
Marco
Try this (“wrapping” the offending code part):
# create your canvas
panel = wxplot.PlotCanvas(self)
import warnings
with warnings.catch_warnings():
warnings.filterwarnings('ignore', category=PendingDeprecationWarning)
panel.GetEnablePointLabel()
``
You can “wrap” the whole app that way.
thank you, it works. I’ve changend
warnings.filterwarnings('ignore', category=PendingDeprecationWarning)
with
warnings.simplefilter('ignore')
to catch both deprecation warnings and pending deprecation warnings (and others)
Marco
···
On Friday, June 15, 2018 at 3:11:22 PM UTC+2, nepix32 wrote:
Try this (“wrapping” the offending code part):
# create your canvas
panel = wxplot.PlotCanvas(self)
import warnings
with warnings.catch_warnings():
warnings.filterwarnings('ignore', category=PendingDeprecationWarning)
panel.GetEnablePointLabel()
``
You can “wrap” the whole app that way.
I would like to wade in and point out that you should only turn off
deprecation, and other, warnings in release code, (not test or
development), and the real fix is to actually address the warnings.
Failure to address deprecation warnings will eventually result in a
sudden rush of errors (when the deprecated facility is removed) and
other warnings are normally a sign of something potentially going wrong.
In my experience suppressing warnings always bites you somewhere painful
sooner or later and usually at the worst moment in time. It certainly
has worked out that way for me.
Steve
···
On 16/06/2018 08:04, Marco Prosperi wrote:
thank you, it works. I've changend
>warnings.filterwarnings('ignore',category=PendingDeprecationWarning)|
>
>
with
>
>
>>warnings.simplefilter('ignore')
>>
to catch both deprecation warnings and pending deprecation warnings (and
others)
Marco
On Friday, June 15, 2018 at 3:11:22 PM UTC+2, nepix32 wrote:
Try this ("wrapping" the offending code part):
>
# create your canvas
panel =wxplot.PlotCanvas(self)
importwarnings
withwarnings.catch_warnings():
warnings.filterwarnings('ignore',category=PendingDeprecationWarning)
panel.GetEnablePointLabel()
>
You can "wrap" the whole app that way.
--
You received this message because you are subscribed to the Google
Groups "wxPython-users" group.
To unsubscribe from this group and stop receiving emails from it, send
an email to wxpython-users+unsubscribe@googlegroups.com
<mailto:wxpython-users+unsubscribe@googlegroups.com>.
For more options, visit https://groups.google.com/d/optout.
--
Steve (Gadget) Barnes
Any opinions in this message are my personal opinions and do not reflect
those of my employer.
---
This email has been checked for viruses by AVG.
I agree, this is my actual code
if main_is_frozen():
with warnings.catch_warnings():
warnings.simplefilter(‘ignore’)
run()
else:
run()
···