Leo on Debian ?

151 views
Skip to first unread message

Viktor Ransmayr

unread,
Mar 12, 2021, 7:52:56 AM3/12/21
to leo-editor
Hello Leo Community,

Does anyone have Leo successfully running on top of Debian?

Background of my question:

Since more than a year I'm successfully running Leo in various Fedora & Windows VMs on top of Qubes OS. - For some reason I now have to use a Debian VM - and - obviously would like to continue to use Leo as my outliner & notebook.

Unfortunately I failed so far - and - am out of ideas now ...

What did I do so far:

* Failed initially to install Leo on Debian - See "Log-1"
* After upgrading Pip from version 18.1 to 21.0.1 I was able to install the stable version of Leo from PyPI - See "Log-2"
* However when I try to start Leo, I get the following error - See "Log-3"

Any ideas what I could try next?

With kind regards,

Viktor

### Logs ... ###

< Start of Log-1 >

user@debian-leo-vm:~$ cd PyVE/PyPI/Leo
user@debian-leo-vm:~/PyVE/PyPI/Leo$ source bin/activate
(Leo) user@debian-leo-vm:~/PyVE/PyPI/Leo$ pip list
Package       Version
------------- -------
pip           18.1   
pkg-resources 0.0.0  
setuptools    40.8.0
(Leo) user@debian-leo-vm:~/PyVE/PyPI/Leo$ pip install leo
Collecting leo
  Using cached https://files.pythonhosted.org/packages/33/15/d8aa24ac5b6acf7c45a2845ec807beea19f16c04f484436a065ba4f7aa54/leo-6.3-py3-none-any.whl
Collecting pyflakes (from leo)
  Downloading https://files.pythonhosted.org/packages/69/5b/fd01b0c696f2f9a6d2c839883b642493b431f28fa32b29abc465ef675473/pyflakes-2.2.0-py2.py3-none-any.whl (66kB)
    100% |████████████████████████████████| 71kB 3.3MB/s
Collecting sphinx (from leo)
  Using cached https://files.pythonhosted.org/packages/5b/05/982aeff8c88443b296b5896e46daf3f5933e5e54cd0bb086f8e5549655b7/Sphinx-3.5.2-py3-none-any.whl
Collecting PyQt5>=5.12 (from leo)
  Using cached https://files.pythonhosted.org/packages/8e/a4/d5e4bf99dd50134c88b95e926d7b81aad2473b47fde5e3e4eac2c69a8942/PyQt5-5.15.4.tar.gz
  Installing build dependencies ... done
    Complete output from command python setup.py egg_info:
    Traceback (most recent call last):
      File "<string>", line 1, in <module>
      File "/usr/lib/python3.7/tokenize.py", line 447, in open
        buffer = _builtin_open(filename, 'rb')
    FileNotFoundError: [Errno 2] No such file or directory: '/tmp/pip-install-9nyc5ejh/PyQt5/setup.py'
    
    ----------------------------------------
Command "python setup.py egg_info" failed with error code 1 in /tmp/pip-install-9nyc5ejh/PyQt5/
(Leo) user@debian-leo-vm:~/PyVE/PyPI/Leo$

< End of Log-1 >

< Start of Log-2 >

(Leo) user@debian-leo-vm:~/PyVE/PyPI/Leo$ pip install pip --upgrade
Cache entry deserialization failed, entry ignored
Collecting pip
  Downloading https://files.pythonhosted.org/packages/fe/ef/60d7ba03b5c442309ef42e7d69959f73aacccd0d86008362a681c4698e83/pip-21.0.1-py3-none-any.whl (1.5MB)
    100% |████████████████████████████████| 1.5MB 986kB/s
Installing collected packages: pip
  Found existing installation: pip 18.1
    Uninstalling pip-18.1:
      Successfully uninstalled pip-18.1
Successfully installed pip-21.0.1
(Leo) user@debian-leo-vm:~/PyVE/PyPI/Leo$ pip list
Package       Version
------------- -------
pip           21.0.1
pkg-resources 0.0.0
setuptools    40.8.0
(Leo) user@debian-leo-vm:~/PyVE/PyPI/Leo$ pip install leo
Collecting leo
  Using cached leo-6.3-py3-none-any.whl (9.7 MB)
Collecting PyQt5>=5.12
  Downloading PyQt5-5.15.4-cp36.cp37.cp38.cp39-abi3-manylinux2014_x86_64.whl (8.3 MB)
     |████████████████████████████████| 8.3 MB 3.7 MB/s
Collecting PyQtWebEngine
  Downloading PyQtWebEngine-5.15.4-cp36.cp37.cp38.cp39-abi3-manylinux2014_x86_64.whl (229 kB)
     |████████████████████████████████| 229 kB 12.9 MB/s
Collecting asttokens
  Downloading asttokens-2.0.4-py2.py3-none-any.whl (20 kB)
Collecting docutils
  Using cached docutils-0.16-py2.py3-none-any.whl (548 kB)
Collecting sphinx
  Using cached Sphinx-3.5.2-py3-none-any.whl (2.8 MB)
Collecting pyflakes
  Using cached pyflakes-2.2.0-py2.py3-none-any.whl (66 kB)
Collecting black
  Downloading black-20.8b1.tar.gz (1.1 MB)
     |████████████████████████████████| 1.1 MB 16.2 MB/s
  Installing build dependencies ... done
  Getting requirements to build wheel ... done
    Preparing wheel metadata ... done
Collecting pyshortcuts>=1.7
  Downloading pyshortcuts-1.8.0.tar.gz (933 kB)
     |████████████████████████████████| 933 kB 13.0 MB/s
Collecting nbformat
  Downloading nbformat-5.1.2-py3-none-any.whl (113 kB)
     |████████████████████████████████| 113 kB 12.7 MB/s
Collecting pylint
  Downloading pylint-2.7.2-py3-none-any.whl (342 kB)
     |████████████████████████████████| 342 kB 10.0 MB/s
Collecting meta
  Using cached meta-1.0.2.tar.gz (49 kB)
Collecting flexx
  Downloading flexx-0.8.1-py3-none-any.whl (334 kB)
     |████████████████████████████████| 334 kB 13.7 MB/s
Collecting PyQt5-sip<13,>=12.8
  Downloading PyQt5_sip-12.8.1-cp37-cp37m-manylinux1_x86_64.whl (283 kB)
     |████████████████████████████████| 283 kB 12.3 MB/s
Collecting PyQt5-Qt5>=5.15
  Downloading PyQt5_Qt5-5.15.2-py3-none-manylinux2014_x86_64.whl (59.9 MB)
     |████████████████████████████████| 59.9 MB 9.9 MB/s
Collecting six
  Using cached six-1.15.0-py2.py3-none-any.whl (10 kB)
Collecting appdirs
  Downloading appdirs-1.4.4-py2.py3-none-any.whl (9.6 kB)
Collecting typing-extensions>=3.7.4
  Downloading typing_extensions-3.7.4.3-py3-none-any.whl (22 kB)
Collecting typed-ast>=1.4.0
  Downloading typed_ast-1.4.2-cp37-cp37m-manylinux1_x86_64.whl (743 kB)
     |████████████████████████████████| 743 kB 12.1 MB/s
Collecting pathspec<1,>=0.6
  Downloading pathspec-0.8.1-py2.py3-none-any.whl (28 kB)
Collecting click>=7.1.2
  Downloading click-7.1.2-py2.py3-none-any.whl (82 kB)
     |████████████████████████████████| 82 kB 1.8 MB/s
Collecting regex>=2020.1.8
  Downloading regex-2020.11.13-cp37-cp37m-manylinux2014_x86_64.whl (719 kB)
     |████████████████████████████████| 719 kB 11.3 MB/s
Collecting toml>=0.10.1
  Using cached toml-0.10.2-py2.py3-none-any.whl (16 kB)
Collecting mypy-extensions>=0.4.3
  Downloading mypy_extensions-0.4.3-py2.py3-none-any.whl (4.5 kB)
Collecting pscript>=0.7.3
  Downloading pscript-0.7.5.tar.gz (120 kB)
     |████████████████████████████████| 120 kB 14.4 MB/s
Collecting webruntime>=0.5.6
  Downloading webruntime-0.5.8-py3-none-any.whl (53 kB)
     |████████████████████████████████| 53 kB 3.1 MB/s
Collecting dialite>=0.5.2
  Downloading dialite-0.5.3-py3-none-any.whl (8.8 kB)
Collecting tornado
  Downloading tornado-6.1-cp37-cp37m-manylinux2010_x86_64.whl (428 kB)
     |████████████████████████████████| 428 kB 10.3 MB/s
Collecting jsonschema!=2.5.0,>=2.4
  Using cached jsonschema-3.2.0-py2.py3-none-any.whl (56 kB)
Collecting ipython-genutils
  Using cached ipython_genutils-0.2.0-py2.py3-none-any.whl (26 kB)
Collecting traitlets>=4.1
  Downloading traitlets-5.0.5-py3-none-any.whl (100 kB)
     |████████████████████████████████| 100 kB 5.2 MB/s
Collecting jupyter-core
  Downloading jupyter_core-4.7.1-py3-none-any.whl (82 kB)
     |████████████████████████████████| 82 kB 949 kB/s
Collecting attrs>=17.4.0
  Downloading attrs-20.3.0-py2.py3-none-any.whl (49 kB)
     |████████████████████████████████| 49 kB 7.0 MB/s
Collecting pyrsistent>=0.14.0
  Downloading pyrsistent-0.17.3.tar.gz (106 kB)
     |████████████████████████████████| 106 kB 14.5 MB/s
Collecting importlib-metadata
  Downloading importlib_metadata-3.7.2-py3-none-any.whl (11 kB)
Requirement already satisfied: setuptools in ./lib/python3.7/site-packages (from jsonschema!=2.5.0,>=2.4->nbformat->leo) (40.8.0)
Collecting zipp>=0.5
  Downloading zipp-3.4.1-py3-none-any.whl (5.2 kB)
Collecting astroid<2.6,>=2.5.1
  Downloading astroid-2.5.1-py3-none-any.whl (222 kB)
     |████████████████████████████████| 222 kB 12.7 MB/s
Collecting mccabe<0.7,>=0.6
  Using cached mccabe-0.6.1-py2.py3-none-any.whl (8.6 kB)
Collecting isort<6,>=4.2.5
  Downloading isort-5.7.0-py3-none-any.whl (104 kB)
     |████████████████████████████████| 104 kB 13.8 MB/s
Collecting wrapt<1.13,>=1.11
  Downloading wrapt-1.12.1.tar.gz (27 kB)
Collecting lazy-object-proxy>=1.4.0
  Downloading lazy_object_proxy-1.5.2-cp37-cp37m-manylinux1_x86_64.whl (51 kB)
     |████████████████████████████████| 51 kB 1.2 MB/s
Collecting PyQtWebEngine-Qt5>=5.15
  Downloading PyQtWebEngine_Qt5-5.15.2-py3-none-manylinux2014_x86_64.whl (67.5 MB)
     |████████████████████████████████| 67.5 MB 14.9 MB/s
Collecting snowballstemmer>=1.1
  Downloading snowballstemmer-2.1.0-py2.py3-none-any.whl (93 kB)
     |████████████████████████████████| 93 kB 1.3 MB/s
Collecting Pygments>=2.0
  Downloading Pygments-2.8.1-py3-none-any.whl (983 kB)
     |████████████████████████████████| 983 kB 14.2 MB/s
Collecting requests>=2.5.0
  Downloading requests-2.25.1-py2.py3-none-any.whl (61 kB)
     |████████████████████████████████| 61 kB 5.2 MB/s
Collecting babel>=1.3
  Downloading Babel-2.9.0-py2.py3-none-any.whl (8.8 MB)
     |████████████████████████████████| 8.8 MB 10.7 MB/s
Collecting sphinxcontrib-jsmath
  Using cached sphinxcontrib_jsmath-1.0.1-py2.py3-none-any.whl (5.1 kB)
Collecting imagesize
  Using cached imagesize-1.2.0-py2.py3-none-any.whl (4.8 kB)
Collecting sphinxcontrib-htmlhelp
  Using cached sphinxcontrib_htmlhelp-1.0.3-py2.py3-none-any.whl (96 kB)
Collecting sphinxcontrib-applehelp
  Using cached sphinxcontrib_applehelp-1.0.2-py2.py3-none-any.whl (121 kB)
Collecting packaging
  Using cached packaging-20.9-py2.py3-none-any.whl (40 kB)
Collecting sphinxcontrib-devhelp
  Using cached sphinxcontrib_devhelp-1.0.2-py2.py3-none-any.whl (84 kB)
Collecting sphinxcontrib-qthelp
  Using cached sphinxcontrib_qthelp-1.0.3-py2.py3-none-any.whl (90 kB)
Collecting sphinxcontrib-serializinghtml
  Using cached sphinxcontrib_serializinghtml-1.1.4-py2.py3-none-any.whl (89 kB)
Collecting Jinja2>=2.3
  Downloading Jinja2-2.11.3-py2.py3-none-any.whl (125 kB)
     |████████████████████████████████| 125 kB 18.7 MB/s
Collecting alabaster<0.8,>=0.7
  Using cached alabaster-0.7.12-py2.py3-none-any.whl (14 kB)
Collecting pytz>=2015.7
  Downloading pytz-2021.1-py2.py3-none-any.whl (510 kB)
     |████████████████████████████████| 510 kB 12.0 MB/s
Collecting MarkupSafe>=0.23
  Downloading MarkupSafe-1.1.1-cp37-cp37m-manylinux2010_x86_64.whl (33 kB)
Collecting chardet<5,>=3.0.2
  Downloading chardet-4.0.0-py2.py3-none-any.whl (178 kB)
     |████████████████████████████████| 178 kB 11.4 MB/s
Collecting urllib3<1.27,>=1.21.1
  Downloading urllib3-1.26.3-py2.py3-none-any.whl (137 kB)
     |████████████████████████████████| 137 kB 12.8 MB/s
Collecting idna<3,>=2.5
  Downloading idna-2.10-py2.py3-none-any.whl (58 kB)
     |████████████████████████████████| 58 kB 6.6 MB/s
Collecting certifi>=2017.4.17
  Downloading certifi-2020.12.5-py2.py3-none-any.whl (147 kB)
     |████████████████████████████████| 147 kB 10.9 MB/s
Collecting pyparsing>=2.0.2
  Using cached pyparsing-2.4.7-py2.py3-none-any.whl (67 kB)
Using legacy 'setup.py install' for pyshortcuts, since package 'wheel' is not installed.
Using legacy 'setup.py install' for pscript, since package 'wheel' is not installed.
Using legacy 'setup.py install' for meta, since package 'wheel' is not installed.
Using legacy 'setup.py install' for pyrsistent, since package 'wheel' is not installed.
Using legacy 'setup.py install' for wrapt, since package 'wheel' is not installed.
Building wheels for collected packages: black
  Building wheel for black (PEP 517) ... done
  Created wheel for black: filename=black-20.8b1-py3-none-any.whl size=124184 sha256=960af0b131ffdc4f6b1ea8b1bd89dddbf2522298c863268dc78e2269a36467b4
  Stored in directory: /home/user/.cache/pip/wheels/c5/85/79/f3af8daaf8037c0bf14beb3b7a1511a39b6e6902ca2aaf494e
Successfully built black
Installing collected packages: zipp, typing-extensions, ipython-genutils, wrapt, urllib3, typed-ast, traitlets, six, pytz, pyrsistent, PyQt5-sip, PyQt5-Qt5, pyparsing, MarkupSafe, lazy-object-proxy, importlib-metadata, idna, dialite, chardet, certifi, attrs, webruntime, tornado, toml, sphinxcontrib-serializinghtml, sphinxcontrib-qthelp, sphinxcontrib-jsmath, sphinxcontrib-htmlhelp, sphinxcontrib-devhelp, sphinxcontrib-applehelp, snowballstemmer, requests, regex, PyQtWebEngine-Qt5, PyQt5, Pygments, pscript, pathspec, packaging, mypy-extensions, mccabe, jupyter-core, jsonschema, Jinja2, isort, imagesize, docutils, click, babel, astroid, appdirs, alabaster, sphinx, pyshortcuts, PyQtWebEngine, pylint, pyflakes, nbformat, meta, flexx, black, asttokens, leo
    Running setup.py install for wrapt ... done
    Running setup.py install for pyrsistent ... done
    Running setup.py install for pscript ... done
    Running setup.py install for pyshortcuts ... done
    Running setup.py install for meta ... done
Successfully installed Jinja2-2.11.3 MarkupSafe-1.1.1 PyQt5-5.15.4 PyQt5-Qt5-5.15.2 PyQt5-sip-12.8.1 PyQtWebEngine-5.15.4 PyQtWebEngine-Qt5-5.15.2 Pygments-2.8.1 alabaster-0.7.12 appdirs-1.4.4 astroid-2.5.1 asttokens-2.0.4 attrs-20.3.0 babel-2.9.0 black-20.8b1 certifi-2020.12.5 chardet-4.0.0 click-7.1.2 dialite-0.5.3 docutils-0.16 flexx-0.8.1 idna-2.10 imagesize-1.2.0 importlib-metadata-3.7.2 ipython-genutils-0.2.0 isort-5.7.0 jsonschema-3.2.0 jupyter-core-4.7.1 lazy-object-proxy-1.5.2 leo-6.3 mccabe-0.6.1 meta-1.0.2 mypy-extensions-0.4.3 nbformat-5.1.2 packaging-20.9 pathspec-0.8.1 pscript-0.7.5 pyflakes-2.2.0 pylint-2.7.2 pyparsing-2.4.7 pyrsistent-0.17.3 pyshortcuts-1.8.0 pytz-2021.1 regex-2020.11.13 requests-2.25.1 six-1.15.0 snowballstemmer-2.1.0 sphinx-3.5.2 sphinxcontrib-applehelp-1.0.2 sphinxcontrib-devhelp-1.0.2 sphinxcontrib-htmlhelp-1.0.3 sphinxcontrib-jsmath-1.0.1 sphinxcontrib-qthelp-1.0.3 sphinxcontrib-serializinghtml-1.1.4 toml-0.10.2 tornado-6.1 traitlets-5.0.5 typed-ast-1.4.2 typing-extensions-3.7.4.3 urllib3-1.26.3 webruntime-0.5.8 wrapt-1.12.1 zipp-3.4.1
(Leo) user@debian-leo-vm:~/PyVE/PyPI/Leo$ pip list
Package                       Version
----------------------------- ----------
alabaster                     0.7.12
appdirs                       1.4.4
astroid                       2.5.1
asttokens                     2.0.4
attrs                         20.3.0
Babel                         2.9.0
black                         20.8b1
certifi                       2020.12.5
chardet                       4.0.0
click                         7.1.2
dialite                       0.5.3
docutils                      0.16
flexx                         0.8.1
idna                          2.10
imagesize                     1.2.0
importlib-metadata            3.7.2
ipython-genutils              0.2.0
isort                         5.7.0
Jinja2                        2.11.3
jsonschema                    3.2.0
jupyter-core                  4.7.1
lazy-object-proxy             1.5.2
leo                           6.3
MarkupSafe                    1.1.1
mccabe                        0.6.1
meta                          1.0.2
mypy-extensions               0.4.3
nbformat                      5.1.2
packaging                     20.9
pathspec                      0.8.1
pip                           21.0.1
pkg-resources                 0.0.0
pscript                       0.7.5
pyflakes                      2.2.0
Pygments                      2.8.1
pylint                        2.7.2
pyparsing                     2.4.7
PyQt5                         5.15.4
PyQt5-Qt5                     5.15.2
PyQt5-sip                     12.8.1
PyQtWebEngine                 5.15.4
PyQtWebEngine-Qt5             5.15.2
pyrsistent                    0.17.3
pyshortcuts                   1.8.0
pytz                          2021.1
regex                         2020.11.13
requests                      2.25.1
setuptools                    40.8.0
six                           1.15.0
snowballstemmer               2.1.0
Sphinx                        3.5.2
sphinxcontrib-applehelp       1.0.2
sphinxcontrib-devhelp         1.0.2
sphinxcontrib-htmlhelp        1.0.3
sphinxcontrib-jsmath          1.0.1
sphinxcontrib-qthelp          1.0.3
sphinxcontrib-serializinghtml 1.1.4
toml                          0.10.2
tornado                       6.1
traitlets                     5.0.5
typed-ast                     1.4.2
typing-extensions             3.7.4.3
urllib3                       1.26.3
webruntime                    0.5.8
wrapt                         1.12.1
zipp                          3.4.1
(Leo) user@debian-leo-vm:~/PyVE/PyPI/Leo$

< End of Log-2 >

< Start of Log-3 >

(Leo) user@debian-leo-vm:~/PyVE/PyPI/Leo$ leo&
[1] 1569
(Leo) user@debian-leo-vm:~/PyVE/PyPI/Leo$
setting leoID from os.getenv('USER'): 'user'
qt.qpa.plugin: Could not load the Qt platform plugin "xcb" in "" even though it was found.
This application failed to start because no Qt platform plugin could be initialized. Reinstalling the application may fix this problem.

Available platform plugins are: eglfs, linuxfb, minimal, minimalegl, offscreen, vnc, wayland-egl, wayland, wayland-xcomposite-egl, wayland-xcomposite-glx, webgl, xcb.


[1]+  Aborted                 leo
(Leo) user@debian-leo-vm:~/PyVE/PyPI/Leo$

< End of Log-3 >

tbp1...@gmail.com

unread,
Mar 12, 2021, 9:44:31 AM3/12/21
to leo-editor
I can't help directly with Debian, but Leo works fine on my VMs running both Mint and Ubuntu, which are both Debian-based.  I would have thought that they use Debian packages directly, but maybe that's not so.

On Mint, I have only three Qt packages installed:

$python3 -m pip list |grep "Qt"
PyQt5                         5.12.3
PyQt5-sip                     12.7.1
PyQtWebEngine                 5.12.
1

On Ubuntu:

$python3 -m pip list |grep "Qt"
PyQt5                         5.15.0
PyQt5-sip                     12.8.0
PyQtWebEngine                 5.15.0


On my Windows machine:
tom>py38 -m pip list |find "Qt"
PyQt5                         5.15.1
PyQt5-sip                     12.8.0
PyQtWebEngine                 5.12.1

(Edited to remove a few Qt packages that are not Leo-related).

The PyQt5-Qt5 package that is listed in your list output is something  I have not seen before.

From the error message you got,

This application failed to start because no Qt platform plugin could be initialized.

I wonder if you are running one window manager but the installer package gave you the setup for a different window manager.  If so, maybe you can temporarily switch window managers and see if that works.

On Friday, March 12, 2021 at 7:52:56 AM UTC-5 viktor....@gmail.com wrote:
Hello Leo Community,

...

(Leo) user@debian-leo-vm:~/PyVE/PyPI/Leo$ pip list
Package                       Version
----------------------------- ----------
[snip]

PyQt5                         5.15.4
PyQt5-Qt5                     5.15.2
PyQt5-sip                     12.8.1
PyQtWebEngine                 5.15.4
PyQtWebEngine-Qt5             5.15.2
[snip]

Viktor Ransmayr

unread,
Mar 12, 2021, 12:29:34 PM3/12/21
to leo-editor
tbp1...@gmail.com schrieb am Freitag, 12. März 2021 um 15:44:31 UTC+1:
I can't help directly with Debian, but Leo works fine on my VMs running both Mint and Ubuntu, which are both Debian-based.  I would have thought that they use Debian packages directly, but maybe that's not so.

...


The PyQt5-Qt5 package that is listed in your list output is something  I have not seen before.

From the error message you got,

This application failed to start because no Qt platform plugin could be initialized.

I wonder if you are running one window manager but the installer package gave you the setup for a different window manager.  If so, maybe you can temporarily switch window managers and see if that works.

I've not changed / switched the windows manager used in the Debian 10 VM at all!

But you are obviously correct, that the doubly 'PyQt5' as well as 'PyQtWebEngine' packages are very strange.

I'll continue work on it later in the day - and - get back as soon as I've an explanation - or - at least some news ...

With kind regards,

Viktor

tbp1...@gmail.com

unread,
Mar 12, 2021, 1:19:27 PM3/12/21
to leo-editor
I just installed a Debian VM.  After installing Leo with pip I got exactly the same error message as you.  I don't know what to do with it, though.

tbp1...@gmail.com

unread,
Mar 12, 2021, 3:27:11 PM3/12/21
to leo-editor
On line I found a recommendation  to:

export QT_DEBUG_PLUGINS=1

With this set,  there was a lot of output, with this as the first error:

Got keys from plugin meta data ("xcb")
QFactoryLoader::QFactoryLoader() checking directory path "/usr/bin/platforms" ...
Cannot load library /home/tom/.local/lib/python3.7/site-packages/PyQt5/Qt5/plugins/platforms/libqxcb.so: (libxcb-util.so.1: cannot open shared object file: No such file or directory)


But that file actually does exist at the given location, and its file permissions would allow it to open and execute by my user.

Online, it seems that others have had this problem with non-python Qt5 installations.  Several people have found fixes that worked for them but not for others.  So far, I don't have a solution but apparently there is one to be found.

Viktor Ransmayr

unread,
Mar 12, 2021, 4:09:20 PM3/12/21
to leo-e...@googlegroups.com
I have some news - but - no explanation ;-)

I tried to install Leo from PyPI via Pip - into the same PyVE - starting from version 6.0 - and - all of them (i.e. also the latest stable version 6.3) install - and - WORK properly !!!

AFAIKT this problem only occurs, if you try to install Leo from scratch w/o having any existing 'package dependency history' ...

With kind regards,

Viktor

Viktor Ransmayr

unread,
Mar 12, 2021, 4:22:38 PM3/12/21
to leo-editor
These are the PyQt related packages which (for whatever reason) work:

PyQt5                           5.12.3
PyQt5-Qt5                    5.15.2
PyQt5-sip                     12.8.1
PyQtWebEngine           5.12.1
PyQtWebEngine-Qt5    5.15.2

As I said: I have news - but - no real explanation yet ...

With kind regards,

Viktor

tbp1...@gmail.com

unread,
Mar 12, 2021, 4:38:31 PM3/12/21
to leo-editor
I tried downgrading Leo to 6.0, but it still failed with the same error.  Then I downgraded PyQt5 to 5.15.1.  I  then downgraded PyQtWebEngine  - but spelled all lowercase - also to 5.15.1 and then Leo 6.0 worked.  Then I upgraded Leo to 6.3 and that worked too.

So we can get it working, but there is an error somewhere in the pip instruction files.

Viktor Ransmayr

unread,
Mar 13, 2021, 11:14:50 AM3/13/21
to leo-editor
tbp1...@gmail.com schrieb am Freitag, 12. März 2021 um 22:38:31 UTC+1:
I tried downgrading Leo to 6.0, but it still failed with the same error.  Then I downgraded PyQt5 to 5.15.1.  I  then downgraded PyQtWebEngine  - but spelled all lowercase - also to 5.15.1 and then Leo 6.0 worked.  Then I upgraded Leo to 6.3 and that worked too.

So we can get it working, but there is an error somewhere in the pip instruction files.

Here's an update from three sessions that I performed this morning.

*Session #1:*

* Starting from Leo version 6.0 directly does not work for me either.

*Session #2:*

* Starting from Leo version 6.1 - and - then upgrading **explicitly** to 6.3 does work.

*Session #3:*

* Explicitely starting with Leo 6.3 does not work.
* Downgrading to  Leo 6.2.1 does not work either.
* You need to downgrade all the way to Leo 6.2 to get a first working version.
* Then you are able to **explicitly** upgrade to a working version of 6.3 again ...

---
* Note 1: If at the previous step you just type 'pip3 install leo' no error is reported - but - Leo is not upgraded. - You have to explicitely type 'pip3 install leo==6.3' ...
* Note 2: This time I did not upgrade to pip 21.0.1 - but - used pip 18.1 - and - I only got the expected 3 PyQt packages ...
---

Again more findings - but - still no concrete idea, why I see this issue only with Debian and not with Fedora ...

With kind regards,

Viktor

tbp1...@gmail.com

unread,
Mar 13, 2021, 11:34:34 AM3/13/21
to leo-editor
I made a new Debian VM, and I did have to start with installing Leo 6.1 for everything to work.  I also had to repeat the installation because it quit in the middle the first time, claiming that it was unable to open some temporary directory.  Then upgrading to 6.3 succeeded. 

These wierdnesses presumably have something to do with how Debian sets up the paths and partitions the various pieces of software; who knows?  But I have noticed that Leo launches faster on the Debian VM than on Mint or Ubuntu.  I think that's strange.

Steve Litt

unread,
Mar 13, 2021, 1:54:46 PM3/13/21
to leo-e...@googlegroups.com
Hi Viktor,

This isn't responsive to your question, but it's some information...

I have an extremely low opinion of Debian. I'm not a big fan of pip
either. Why not follow the instructions for git clone to install? I've
found, especially with Debian, that compiling yourself is a lot more
certain victory than Debian packages or pip.

SteveT


>Hello Leo Community,
>
>Does anyone have Leo successfully running on top of Debian?
>
>Background of my question:
>
>Since more than a year I'm successfully running Leo in various Fedora
>& Windows VMs on top of Qubes OS. - For some reason I now have to use
>a Debian VM - and - obviously would like to continue to use Leo as my
>outliner & notebook.
>
>Unfortunately I failed so far - and - am out of ideas now ...
>
>What did I do so far:
>
>* Failed initially to install Leo on Debian - See "Log-1"
>* After upgrading Pip from version 18.1 to 21.0.1 I was able to
>install the stable version of Leo from PyPI - See "Log-2"
>* However when I try to start Leo, I get the following error - See
>"Log-3"
>
>Any ideas what I could try next?
>
>With kind regards,
>
>Viktor
>
>### Logs ... ###
>
>< Start of Log-1 >
>
>user@debian-leo-vm:~$ cd PyVE/PyPI/Leo
>user@debian-leo-vm:~/PyVE/PyPI/Leo$ source bin/activate (Leo)
>user@debian-leo-vm:~/PyVE/PyPI/Leo$ pip list Package Version
>Successfully installed pip-21.0.1 (Leo)
>user@debian-leo-vm:~/PyVE/PyPI/Leo$ pip list Package Version
>------------- ------- pip 21.0.1 pkg-resources 0.0.0 setuptools 40.8.0
>(Leo) user@debian-leo-vm:~/PyVE/PyPI/Leo$ pip install leo Collecting
>leo Using cached leo-6.3-py3-none-any.whl (9.7 MB) Collecting
>PyQt5>=5.12 Downloading
>PyQt5>PyQt5-5.15.4-cp36.cp37.cp38.cp39-abi3-manylinux2014_x86_64.whl
>PyQt5>(8.3 MB) |████████████████████████████████| 8.3 MB 3.7 MB/s
>PyQt5>Collecting PyQtWebEngine Downloading
>toml>Collecting
>mypy-extensions>=0.4.3 Downloading
>mypy_extensions-0.4.3-py2.py3-none-any.whl (4.5 kB) Collecting
>pscript>=0.7.3 Downloading pscript-0.7.5.tar.gz (120 kB)
>|████████████████████████████████| 120 kB 14.4 MB/s Collecting
>webruntime>=0.5.6 Downloading webruntime-0.5.8-py3-none-any.whl (53
>webruntime>kB)
>|████████████████████████████████| 53 kB 3.1 MB/s Collecting
>dialite>=0.5.2 Downloading dialite-0.5.3-py3-none-any.whl (8.8 kB)
>dialite>Collecting tornado
>snowballstemmer>snowballstemmer-2.1.0-py2.py3-none-any.whl
>(93 kB) |████████████████████████████████| 93 kB 1.3 MB/s Collecting
>Pygments>=2.0 Downloading Pygments-2.8.1-py3-none-any.whl (983 kB)
>|████████████████████████████████| 983 kB 14.2 MB/s Collecting
>requests>=2.5.0 Downloading requests-2.25.1-py2.py3-none-any.whl (61
>requests>kB)
>certifi>(147
>kB) |████████████████████████████████| 147 kB 10.9 MB/s Collecting
>pyparsing>=2.0.2 Using cached pyparsing-2.4.7-py2.py3-none-any.whl (67
>pyparsing>kB)
>urllib3-1.26.3 webruntime-0.5.8 wrapt-1.12.1 zipp-3.4.1 (Leo)
>user@debian-leo-vm:~/PyVE/PyPI/Leo$ pip list Package Version
>----------------------------- ---------- alabaster 0.7.12 appdirs
>1.4.4 astroid 2.5.1 asttokens 2.0.4 attrs 20.3.0 Babel 2.9.0 black
>20.8b1 certifi 2020.12.5 chardet 4.0.0 click 7.1.2 dialite 0.5.3
>docutils 0.16 flexx 0.8.1 idna 2.10 imagesize 1.2.0 importlib-metadata
>3.7.2 ipython-genutils 0.2.0 isort 5.7.0 Jinja2 2.11.3 jsonschema
>3.2.0 jupyter-core 4.7.1 lazy-object-proxy 1.5.2 leo 6.3 MarkupSafe
>1.1.1 mccabe 0.6.1 meta 1.0.2 mypy-extensions 0.4.3 nbformat 5.1.2
>packaging 20.9 pathspec 0.8.1 pip 21.0.1 pkg-resources 0.0.0 pscript
>0.7.5 pyflakes 2.2.0 Pygments 2.8.1 pylint 2.7.2 pyparsing 2.4.7 PyQt5
>5.15.4 PyQt5-Qt5 5.15.2 PyQt5-sip 12.8.1 PyQtWebEngine 5.15.4
>PyQtWebEngine-Qt5 5.15.2 pyrsistent 0.17.3 pyshortcuts 1.8.0 pytz
>2021.1 regex 2020.11.13 requests 2.25.1 setuptools 40.8.0 six 1.15.0
>snowballstemmer 2.1.0 Sphinx 3.5.2 sphinxcontrib-applehelp 1.0.2
>sphinxcontrib-devhelp 1.0.2 sphinxcontrib-htmlhelp 1.0.3
>sphinxcontrib-jsmath 1.0.1 sphinxcontrib-qthelp 1.0.3
>sphinxcontrib-serializinghtml 1.1.4 toml 0.10.2 tornado 6.1 traitlets
>5.0.5 typed-ast 1.4.2 typing-extensions 3.7.4.3 urllib3 1.26.3
>webruntime 0.5.8 wrapt 1.12.1 zipp 3.4.1 (Leo)
>user@debian-leo-vm:~/PyVE/PyPI/Leo$
>
>< End of Log-2 >
>
>< Start of Log-3 >
>
>(Leo) user@debian-leo-vm:~/PyVE/PyPI/Leo$ leo& [1] 1569 (Leo)
>user@debian-leo-vm:~/PyVE/PyPI/Leo$ setting leoID from
>os.getenv('USER'): 'user' qt.qpa.plugin: Could not load the Qt
>platform plugin "xcb" in "" even though it was found. This application
>failed to start because no Qt platform plugin could be initialized.
>Reinstalling the application may fix this problem. Available platform
>plugins are: eglfs, linuxfb, minimal, minimalegl, offscreen, vnc,
>wayland-egl, wayland, wayland-xcomposite-egl, wayland-xcomposite-glx,
>webgl, xcb.
>
>< End of Log-3 >
>
>--
>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
>leo-editor+...@googlegroups.com. To view this discussion on
>the web visit
>https://groups.google.com/d/msgid/leo-editor/e7e68e29-3627-4cff-99fa-f2d24eccbf36n%40googlegroups.com.


SteveT

Steve Litt
Spring 2021 featured book: Troubleshooting Techniques of the Successful
Technologist http://www.troubleshooters.com/techniques

Viktor Ransmayr

unread,
Mar 13, 2021, 2:19:02 PM3/13/21
to leo-editor
Hello Steve

stevelitt schrieb am Samstag, 13. März 2021 um 19:54:46 UTC+1:

This isn't responsive to your question, but it's some information...

I have an extremely low opinion of Debian. I'm not a big fan of pip
either. Why not follow the instructions for git clone to install? I've
found, especially with Debian, that compiling yourself is a lot more
certain victory than Debian packages or pip. 

Although I'm having a workaround already, I'll spend the additional effort to install Leo 6.4-devel into Debian 10 using Git (and ! Pip ! ).

However after that, I'll just create an issue documenting the overall status of Leo on Debian.

This is as much as I can / want to spend on this issue. - After all I'd like to start working on the other topic, which 'forces' me to move from a Fedora VM to a Debian VM ;-)

With kind regards,

Viktor

Viktor Ransmayr

unread,
Mar 13, 2021, 3:15:57 PM3/13/21
to leo-editor
I've decided to create two issues for this problem - See

* https://github.com/leo-editor/leo-editor/issues/1848 <- For Leo devel from GitHub ...

With kind regards,

Viktor

tbp1...@gmail.com

unread,
Mar 13, 2021, 5:42:50 PM3/13/21
to leo-editor
Once you have some version of Leo working - say, 6.1 - you can run other versions without actually installing them.
A simple way to run any particular Leo version from GitHub is to get the zip file for that branch presumably devel - make sure you switch to the devel branch before getting it.  Unzip it somewhere, say in /home/you/Downloads.  The top-level directory will be leo-editor-devel. Then to run that version:

$ export PYTHONPATH='/home/you/Downloads/leo-editor-devel'
$ python3 -m leo.core.runLeo

This will work as long as the newer version of Leo does not require later versions of PyQt5, etc, because this method will not install them.

Viktor Ransmayr

unread,
Mar 14, 2021, 3:51:10 AM3/14/21
to leo-e...@googlegroups.com
Am Sa., 13. März 2021 um 23:42 Uhr schrieb tbp1...@gmail.com <tbp1...@gmail.com>:
Once you have some version of Leo working - say, 6.1 - you can run other versions without actually installing them.
A simple way to run any particular Leo version from GitHub is to get the zip file for that branch presumably devel - make sure you switch to the devel branch before getting it.  Unzip it somewhere, say in /home/you/Downloads.  The top-level directory will be leo-editor-devel. Then to run that version:

$ export PYTHONPATH='/home/you/Downloads/leo-editor-devel'
$ python3 -m leo.core.runLeo

This will work as long as the newer version of Leo does not require later versions of PyQt5, etc, because this method will not install them.

Yes, this is another workaround available - and - thanks for reminding me of that option.

On Saturday, March 13, 2021 at 3:15:57 PM UTC-5 viktor....@gmail.com wrote:
Viktor Ransmayr schrieb am Samstag, 13. März 2021 um 20:19:02 UTC+1:

stevelitt schrieb am Samstag, 13. März 2021 um 19:54:46 UTC+1:

This isn't responsive to your question, but it's some information...

I have an extremely low opinion of Debian. I'm not a big fan of pip
either. Why not follow the instructions for git clone to install? I've
found, especially with Debian, that compiling yourself is a lot more
certain victory than Debian packages or pip. 

Although I'm having a workaround already, I'll spend the additional effort to install Leo 6.4-devel into Debian 10 using Git (and ! Pip ! ).

However after that, I'll just create an issue documenting the overall status of Leo on Debian.

This is as much as I can / want to spend on this issue. - After all I'd like to start working on the other topic, which 'forces' me to move from a Fedora VM to a Debian VM ;-)

I've decided to create two issues for this problem - See

* https://github.com/leo-editor/leo-editor/issues/1848 <- For Leo devel from GitHub ...

However it in my opinion also another example, why it is necessary to distinguish b/w

* Installing 'Leo stable' from PyPI using Pip onto a Debian platform - and -
* Installing 'Leo devel' from GitHub using Git & Pip onto a Debian platform.

The first one should work for the **user**, who wants to use Leo as an outliner on a slowly evolving - but - very stable platform like Debian.

The second one should work for the **developer**, who is interested in packaging Leo for Debian.

That's at least the way, I currently see & understand it ...

Viktor
Reply all
Reply to author
Forward
0 new messages