RIDE icon indicating copy to clipboard operation
RIDE copied to clipboard

Log plugin disabled because sys.stderr is NoneType

Open ChrisSchneebauer opened this issue 4 years ago • 1 comments

When starting RIDE v2.0b1 on Python 3.8.10 with pythonw.exe instead of python.exe, I'll get an error message that "Taking Log plugin into use failed: AttributeError: 'NoneType' object has no attribute 'write'".

The stacktrace in the "Manage Plugin" page says (shortened, as I cannot copy-paste):

This plugin is disabled because it failed to load properly. Error: AttributeError: 'NoneType' object has no attribute 'write'. ... File "C:\Users***\AppData\Roaming\Python\Python38\site-packages\robotide\log\log.py", line 60, in _remove_old_log_files sys.stderr.write(f"Removing old *-ride.log files failed with: {repr(e)}\n")

Seems that sys somehow does not have the stderr channel initialized correctly when using pythonw.

When I start robotide with python.exe, I'll get a PermissionError, but the log plugin at least gets not disabled C:\Program Files\Python38>python.exe -c "from robotide import main; main()" Removing old *-ride.log files failed with: PermissionError(13, 'Der Prozess kann nicht auf die Datei zugreifen, da sie von einem anderen Prozess verwendet wird')

ChrisSchneebauer avatar Jul 14 '21 07:07 ChrisSchneebauer

@ChrisSchneebauer You can try to start RIDE without the definitions, but you should do a backup of it, to later recover your definitions. For this you can go to %APPDATA%\RobotFramework\ride and make a copy or rename settings.cfg, then delete it, for RIDE recreate it.

You can then start RIDE with the shortcut or (python -m robotide.__init__). Later (with RIDE closed), you can edit settings.cfg and add your backed up settings.

HelioGuilherme66 avatar Jul 15 '21 12:07 HelioGuilherme66