ValueError: Unable to configure formatter 'default'

1,831 views
Skip to first unread message

Alisha Jain

unread,
Apr 25, 2023, 3:08:14 AM4/25/23
to PyInstaller
Hi,

I creating a python application which uses uvicorn module. The code runs successfully, however, when I create a exe using pyinstaller, It is able to create the executable but I see following error when I run the exe file. Please help.


Exe_Error.PNG

Steve Barnes

unread,
Apr 26, 2023, 1:42:10 AM4/26/23
to pyins...@googlegroups.com

Hi Alisha,

 

I have seen this problem before and eventually figured out the cause. You are directly or indirectly using either stdout or stderr as an out put for logger but pyinstaller and some or most exe builders produce exes which, when running in Windowed mode, set both of these to None and logger fails like this because None as the exception says doesn’t have an istty or any other methods.

 

Some possible solutions include:

  • Set the application to be a console application so that it will open a terminal window (it can still use the GUI but log messages will go to the terminal quick but dirty
  • If the application has the frozen attribute or set sys.stdout is None and no log file is specified then create your logger with the file set to os.devnull this will discard all logs
  • Use logging.NullHandler if frozen or sys.stdout is None.
  • Always log to a file but please consider using logging.RotatingFileHandler as the default handler if frozen or sys.stdout is None.

 

Hope that this helps.

 

Steve


--
You received this message because you are subscribed to the Google Groups "PyInstaller" group.
To unsubscribe from this group and stop receiving emails from it, send an email to pyinstaller...@googlegroups.com.
To view this discussion on the web visit https://groups.google.com/d/msgid/pyinstaller/4ff86e8c-5ccb-48c4-a608-c5495c92ad35n%40googlegroups.com.

Eric Fahlgren

unread,
Apr 26, 2023, 11:26:59 AM4/26/23
to pyins...@googlegroups.com
Steve,

That seems common and broad enough that you should consider adding a wiki page for it...

Eric

Alisha Jain

unread,
Apr 26, 2023, 11:27:06 AM4/26/23
to pyins...@googlegroups.com
Thank you Steve for your response.

The logging that it refers to is from uvicorn module and doesn't come from my code. So I tried updating all the relevant modules but nothing helped.

Finally, I updated my pip module, followed by pyinstaller module update. This helped and I am able to run the exe successfully.


You received this message because you are subscribed to a topic in the Google Groups "PyInstaller" group.
To unsubscribe from this topic, visit https://groups.google.com/d/topic/pyinstaller/w4EXpztCafE/unsubscribe.
To unsubscribe from this group and all its topics, send an email to pyinstaller...@googlegroups.com.
To view this discussion on the web visit https://groups.google.com/d/msgid/pyinstaller/DU0P194MB18196E90634DD627C520F6D29B659%40DU0P194MB1819.EURP194.PROD.OUTLOOK.COM.

Chris Barker - NOAA Federal

unread,
Apr 26, 2023, 11:27:16 AM4/26/23
to pyins...@googlegroups.com
Hmm,

Seems this is a bug / missing feature in PyIntaller. Writing to stdout/err is pretty common dnd can be done down in the stack of libraries, so not always in full control of the application author. 

Is there a /dev/null equiv on Windows? Or a “hidden” console that can be written to (I think that’s what Mac GUI apps use — you can open the “console” app and see output.)

Or a dummy file object in the stdlib that could be used?

-CHB

Christopher Barker, Ph.D.
Oceanographer

Emergency Response Division
NOAA/NOS/OR&R            (206) 526-6959   voice
7600 Sand Point Way NE   (206) 526-6329   fax
Seattle, WA  98115       (206) 526-6317   main reception

On Apr 25, 2023, at 11:42 PM, Steve Barnes <Gadge...@live.co.uk> wrote:



Hi Alisha,

 

I have seen this problem before and eventually figured out the cause. You are directly or indirectly using either stdout or stderr as an out put for logger but pyinstaller and some or most exe builders produce exes which, when running in Windowed mode, set both of these to None and logger fails like this because None as the exception says doesn’t have an istty or any other methods.

 

Some possible solutions include:

  • Set the application to be a console application so that it will open a terminal window (it can still use the GUI but log messages will go to the terminal quick but dirty
  • If the application has the frozen attribute or set sys.stdout is None and no log file is specified then create your logger with the file set to os.devnull this will discard all logs
  • Use logging.NullHandler if frozen or sys.stdout is None.
  • Always log to a file but please consider using logging.RotatingFileHandler as the default handler if frozen or sys.stdout is None.

 

Hope that this helps.

 

Steve

 

From: pyins...@googlegroups.com <pyins...@googlegroups.com> On Behalf Of Alisha Jain
Sent: Monday, April 24, 2023 5:14 PM
To: PyInstaller <pyins...@googlegroups.com>
Subject: [PyInstaller] ValueError: Unable to configure formatter 'default'

 

Hi,

 

I creating a python application which uses uvicorn module. The code runs successfully, however, when I create a exe using pyinstaller, It is able to create the executable but I see following error when I run the exe file. Please help.

 


<image001.png>

--
You received this message because you are subscribed to the Google Groups "PyInstaller" group.
To unsubscribe from this group and stop receiving emails from it, send an email to pyinstaller...@googlegroups.com.
To view this discussion on the web visit https://groups.google.com/d/msgid/pyinstaller/4ff86e8c-5ccb-48c4-a608-c5495c92ad35n%40googlegroups.com.

--
You received this message because you are subscribed to the Google Groups "PyInstaller" group.
To unsubscribe from this group and stop receiving emails from it, send an email to pyinstaller...@googlegroups.com.

Steve Barnes

unread,
Apr 26, 2023, 2:31:42 PM4/26/23
to pyins...@googlegroups.com

Hi Chris,

 

The python standard library os.devnull gives an operating system independent equivalent to /dev/null (IIRC it actually maps to /dev/null on *nix systems) – including MS Windows.

 

I have suggested in the past that python exe generators could/should set both stdout and stderr to os.devnull for windowed exes rather than using None in that case.

 

All the best,

Steve Barnes

Steve Barnes

unread,
Apr 26, 2023, 3:16:43 PM4/26/23
to pyins...@googlegroups.com

Eric,

 

Good Idea & done with the os.devnull solution!

 

Steve

 

From: pyins...@googlegroups.com <pyins...@googlegroups.com> On Behalf Of Eric Fahlgren


Sent: Wednesday, April 26, 2023 3:09 PM
To: pyins...@googlegroups.com

Reply all
Reply to author
Forward
0 new messages