Oh thanks for that !
At least there seem to be some dependencies that might need more changes to 
when and if they are required. 
Kind of surprised to see tkinter and Qt both. I would hope a CLI only version 
could be standard Library only. 

At least this stack trace confirms some things and gives a start of what to 
expect. 

I will attempt to refactor it for myself and see if it can be tidied. 

> 
> On Nov 21, 2021, at 12:45, zhaohe wang <[email protected]> wrote:
> 
> Perhaps it can not run. Below is output when I run it in Ubuntu2004 server.
> 
>     python launchLeo.py --gui console
> 
> ***
> 
> ubuntu@VM-0-4-ubuntu:~/leo-editor$ python launchLeo.py --gui console
> 
> Can not load pyQt5 or pyQt6
> 
> setting leoID from os.getenv('USER'): 'ubuntu'
> cursesGui2.py: Tk module required for clipboard handling.
> Traceback (most recent call last):
> 
>   File "/home/ubuntu/leo-editor/leo/core/leoApp.py", line 920, in 
> createCursesGui
>     from leo.plugins import cursesGui2
> 
>   File "/home/ubuntu/leo-editor/leo/plugins/cursesGui2.py", line 49, in 
> <module>
>     from tkinter import Tk
> 
> ModuleNotFoundError: No module named 'tkinter'
> 
> can not create curses gui.
> 
> ***
> 
> If install tkinter by 
> 
>     sudo apt install python3-tk
>     python launchLeo.py --gui console
> 
> ***
> 
> ubuntu@VM-0-4-ubuntu:~/leo-editor$ python launchLeo.py --gui console
> 
> Can not load pyQt5 or pyQt6
> 
> setting leoID from os.getenv('USER'): 'ubuntu'
> Leo 6.6b1, master branch, build 95e7dbc7c4
> 2021-11-11 06:35:14 -0600
> 
> Uncaught exception in Leo...
> Traceback (most recent call last):
>   File "launchLeo.py", line 8, in <module>
>     leo.core.runLeo.run()
>   File "/home/ubuntu/leo-editor/leo/core/runLeo.py", line 90, in run
>     g.app.loadManager.load(fileName, pymacs)
>   File "/home/ubuntu/leo-editor/leo/core/leoApp.py", line 2295, in load
>     g.app.gui.runMainLoop()
>   File "/home/ubuntu/leo-editor/leo/plugins/cursesGui2.py", line 1552, in 
> runMainLoop
>     self.curses_app.run()
>   File "/home/ubuntu/leo-editor/leo/external/npyscreen/apNPSApplication.py", 
> line 44, in run
>     return npyssafewrapper.wrapper(self.__remove_argument_call_main)
>   File "/home/ubuntu/leo-editor/leo/external/npyscreen/npyssafewrapper.py", 
> line 47, in wrapper
>     wrapper_no_fork(call_function)
>   File "/home/ubuntu/leo-editor/leo/external/npyscreen/npyssafewrapper.py", 
> line 106, in wrapper_no_fork
>     return_code = call_function(_SCREEN)
>   File "/home/ubuntu/leo-editor/leo/external/npyscreen/apNPSApplication.py", 
> line 37, in __remove_argument_call_main
>     return self.main()
>   File "/home/ubuntu/leo-editor/leo/plugins/cursesGui2.py", line 2734, in main
>     g.app.gui.run()
>   File "/home/ubuntu/leo-editor/leo/plugins/cursesGui2.py", line 1566, in run
>     self.top_form = self.createCursesTop()
>   File "/home/ubuntu/leo-editor/leo/plugins/cursesGui2.py", line 1294, in 
> createCursesTop
>     self.createCursesStatusLine(c, form)
>   File "/home/ubuntu/leo-editor/leo/plugins/cursesGui2.py", line 1425, in 
> createCursesStatusLine
>     box = form.add(StatusLineBox, name='Status Line', max_height=3)
>   File "/home/ubuntu/leo-editor/leo/external/npyscreen/fmForm.py", line 445, 
> in add_widget
>     _w = widgetClass(self,
>   File "/home/ubuntu/leo-editor/leo/external/npyscreen/wgboxwidget.py", line 
> 118, in __init__
>     self.make_contained_widget()
>   File "/home/ubuntu/leo-editor/leo/external/npyscreen/wgboxwidget.py", line 
> 147, in make_contained_widget
>     self._contained_widget(
>   File "/home/ubuntu/leo-editor/leo/plugins/cursesGui2.py", line 3244, in 
> __init__
>     super().__init__(*args, **kwargs)
>   File "/home/ubuntu/leo-editor/leo/external/npyscreen/wgtextbox.py", line 
> 34, in __init__
>     super(TextfieldBase, self).__init__(screen, **keywords)
>   File "/home/ubuntu/leo-editor/leo/external/npyscreen/wgwidget.py", line 
> 315, in __init__
>     self.set_size()
>   File "/home/ubuntu/leo-editor/leo/external/npyscreen/wgwidget.py", line 
> 763, in set_size
>     raise NotEnoughSpaceForWidget("Not enough space for requested size")
> leo.external.npyscreen.wgwidget.NotEnoughSpaceForWidget: Not enough space for 
> requested size
> 
> ***
> 
> If install pyqt5
> 
> ***
> 
> ubuntu@VM-0-4-ubuntu:~/leo-editor$ python launchLeo.py --gui console
> 
> setting leoID from os.getenv('USER'): 'ubuntu'
> Leo 6.6b1, master branch, build 95e7dbc7c4
> 2021-11-11 06:35:14 -0600
> 
> Uncaught exception in Leo...
> Traceback (most recent call last):
>   File "launchLeo.py", line 8, in <module>
>     leo.core.runLeo.run()
>   File "/home/ubuntu/leo-editor/leo/core/runLeo.py", line 90, in run
>     g.app.loadManager.load(fileName, pymacs)
>   File "/home/ubuntu/leo-editor/leo/core/leoApp.py", line 2295, in load
>     g.app.gui.runMainLoop()
>   File "/home/ubuntu/leo-editor/leo/plugins/cursesGui2.py", line 1552, in 
> runMainLoop
>     self.curses_app.run()
>   File "/home/ubuntu/leo-editor/leo/external/npyscreen/apNPSApplication.py", 
> line 44, in run
>     return npyssafewrapper.wrapper(self.__remove_argument_call_main)
>   File "/home/ubuntu/leo-editor/leo/external/npyscreen/npyssafewrapper.py", 
> line 47, in wrapper
>     wrapper_no_fork(call_function)
>   File "/home/ubuntu/leo-editor/leo/external/npyscreen/npyssafewrapper.py", 
> line 106, in wrapper_no_fork
>     return_code = call_function(_SCREEN)
>   File "/home/ubuntu/leo-editor/leo/external/npyscreen/apNPSApplication.py", 
> line 37, in __remove_argument_call_main
>     return self.main()
>   File "/home/ubuntu/leo-editor/leo/plugins/cursesGui2.py", line 2734, in main
>     g.app.gui.run()
>   File "/home/ubuntu/leo-editor/leo/plugins/cursesGui2.py", line 1566, in run
>     self.top_form = self.createCursesTop()
>   File "/home/ubuntu/leo-editor/leo/plugins/cursesGui2.py", line 1294, in 
> createCursesTop
>     self.createCursesStatusLine(c, form)
>   File "/home/ubuntu/leo-editor/leo/plugins/cursesGui2.py", line 1425, in 
> createCursesStatusLine
>     box = form.add(StatusLineBox, name='Status Line', max_height=3)
>   File "/home/ubuntu/leo-editor/leo/external/npyscreen/fmForm.py", line 445, 
> in add_widget
>     _w = widgetClass(self,
>   File "/home/ubuntu/leo-editor/leo/external/npyscreen/wgboxwidget.py", line 
> 118, in __init__
>     self.make_contained_widget()
>   File "/home/ubuntu/leo-editor/leo/external/npyscreen/wgboxwidget.py", line 
> 147, in make_contained_widget
>     self._contained_widget(
>   File "/home/ubuntu/leo-editor/leo/plugins/cursesGui2.py", line 3244, in 
> __init__
>     super().__init__(*args, **kwargs)
>   File "/home/ubuntu/leo-editor/leo/external/npyscreen/wgtextbox.py", line 
> 34, in __init__
>     super(TextfieldBase, self).__init__(screen, **keywords)
>   File "/home/ubuntu/leo-editor/leo/external/npyscreen/wgwidget.py", line 
> 315, in __init__
>     self.set_size()
>   File "/home/ubuntu/leo-editor/leo/external/npyscreen/wgwidget.py", line 
> 763, in set_size
>     raise NotEnoughSpaceForWidget("Not enough space for requested size")
> leo.external.npyscreen.wgwidget.NotEnoughSpaceForWidget: Not enough space for 
> requested size
> 
> 
> 在2021年11月20日星期六 UTC+8 下午9:12:13<[email protected]> 写道:
>> 
>> 
>>> 
>>>> On Nov 20, 2021, at 19:08, Edward K. Ream <[email protected]> wrote:
>>>> 
>>> 
>>>>> On Sat, Nov 20, 2021 at 1:44 AM じょいすじょん <[email protected]> wrote:
>>>>> Is it possible to run without Qt dependencies at all, command line only?
>>>> 
>>>> Yes.  Start Leo with `leo --gui console`.  Leo's console gui uses 
>>>> npyscreen.
>>>> 
>>>> Edward
>>> -- 
>>> 
>> Oh wow thanks. Is it possible to install without Qt ?
>> That would be a convenient thing indeed. 
> 
> -- 
> You received this message because you are subscribed to a topic in the Google 
> Groups "leo-editor" group.
> To unsubscribe from this topic, visit 
> https://groups.google.com/d/topic/leo-editor/X7Yp2it6hZQ/unsubscribe.
> To unsubscribe from this group and all its topics, send an email to 
> [email protected].
> To view this discussion on the web visit 
> https://groups.google.com/d/msgid/leo-editor/dc802c42-f97f-45ea-b242-e918c6e88796n%40googlegroups.com.

-- 
You received this message because you are subscribed to the Google Groups 
"leo-editor" group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to [email protected].
To view this discussion on the web visit 
https://groups.google.com/d/msgid/leo-editor/95716267-4203-4244-BAC4-E10B8E806FBB%40gmail.com.

Reply via email to