More 'venv' related data concerning LeoInteg Issue #299

47 views
Skip to first unread message

Viktor Ransmayr

unread,
Jul 14, 2025, 8:37:55 AMJul 14
to leo-editor
Hello Felix & Thomas,

Here are some of my findings in a Fedora 41 VM related to ''LeoInteg not supporting Leo running in a venv' - See


At the moment I have four different Leo instances installed in this VM:

1. Leo from PyPI w/o a venv

        o Installed via 'pip --user' into /home/user/.local/bin/ - See "Log-001".

2. Leo from GitHub w/o a venv

        o Installed via 'git' into /home/user/projects/leo-editor/ - See "Log-002".

3. Leo in PyVE from PyPI

        o Installed via 'pip' into /home/user/PyVE/PyPI/Leo/ - See "Log-003".

4. Leo in PyVE from GitHub

        o Installed via 'git' into /home/user/PyVE/GitHub/Leo/ - See "Log-004".

Here's the different behavior of LeoInteg for these Leo instances ...

a) Start VS Codium & 'LeoInteg' using Leo from PyPI w/o a venv - Not OK ( expected !) - See "Log-005".

b) Start VS Codium & 'LeoInteg' using Leo from GitHub w/o a venv - OK ( expected !) - See "Log-006".

c) Try to change 'LeoInteg' settings to use Leo in PyVE from PyPI.

* Start VS Codium & 'LeoInteg' from within that PyVE - and - ...
* ... change 'LeoInteg' settings from /home/user/projects/leo-editor
* to /home/user/PyVE/PyPI/Leo/lib/python3.13/site-packages - Not OK ( expected ! ) - See "Log-007".

d) Try to change 'LeoInteg' settings to use Leo in PyVE from GitHub.

* Start VS Codium & 'LeoInteg' from within that PyVE - and - ...
* ... change 'LeoInteg' settings from /home/user/projects/leo-editor
* to /home/user/PyVE/GitHub/Leo/leo-editor - OK ( not expected !?!) - See "Log-008".

Now I'll start looking into the details of your proposal ;-)

With kind regards,

Viktor

### Log-001 ###

    [user@fedora-leointeg-study-vm ~]$
    [user@fedora-leointeg-study-vm ~]$ which python
    /usr/bin/python
    [user@fedora-leointeg-study-vm ~]$
    [user@fedora-leointeg-study-vm ~]$ python --version
    Python 3.13.5
    [user@fedora-leointeg-study-vm ~]$
    [user@fedora-leointeg-study-vm ~]$ which leo
    ~/.local/bin/leo
    [user@fedora-leointeg-study-vm ~]$
    [user@fedora-leointeg-study-vm ~]$ leo --version
    Leo 6.8.5, July 2, 2025
    Python 3.13.5
    linux
    [user@fedora-leointeg-study-vm ~]$
    [user@fedora-leointeg-study-vm ~]$ cd ~/.local/bin
    [user@fedora-leointeg-study-vm bin]$
    [user@fedora-leointeg-study-vm bin]$ ls
    black          fonttools               leo           pycodestyle      pytest         ruff
    black-primer   get_gprof               leo-c         pyflakes         pyuic5         sphinx-apidoc
    blackd         get_objgraph            leo-console   pyftmerge        pyuic6         sphinx-autogen
    coverage       isort                   leo-m         pyftsubset       rst2html       sphinx-build
    coverage-3.12  isort-identify-imports  leo-messages  pygmentize       rst2html4      sphinx-quickstart
    coverage-3.13  jsonschema              markdown-it   pylint           rst2html5      stubgen
    coverage3      jupyter                 markdown_py   pylint-config    rst2latex      stubtest
    depyc          jupyter-migrate         mypy          pylupdate5       rst2man        symilar
    dmypy          jupyter-troubleshoot    mypyc         pylupdate6       rst2odt        ttx
    docutils       jupyter-trust           normalizer    pyproject-build  rst2pseudoxml  twine
    epylint        jupytext                pkginfo       pyrcc5           rst2s5         undill
    flake8         jupytext-config         py.test       pyreverse        rst2xetex      webruntime
    flexx          keyring                 pybabel       pyshortcut       rst2xml        websockets
    [user@fedora-leointeg-study-vm bin]$
    [user@fedora-leointeg-study-vm bin]$ cat leo
    #!/usr/bin/python
    # -*- coding: utf-8 -*-
    import re
    import sys
    from leo.core.runLeo import run
    if __name__ == '__main__':
        sys.argv[0] = re.sub(r'(-script\.pyw|\.exe)?$', '', sys.argv[0])
        sys.exit(run())
    [user@fedora-leointeg-study-vm bin]$

### Log-002 ###

    [user@fedora-leointeg-study-vm ~]$
    [user@fedora-leointeg-study-vm ~]$ cd projects/leo-editor/
    [user@fedora-leointeg-study-vm leo-editor]$
    [user@fedora-leointeg-study-vm leo-editor]$ ls
    CONTRIBUTING.md  docs                  leo               profileLeo.py        run_travis_unit_tests.py
    LICENSE          ekr-spellpyx.txt      leo-commands.cfg  pyproject.toml       setup.cfg
    MANIFEST.in      git-manifest.txt      leo-core.cfg      requirements.txt
    PKG-INFO.TXT     launchLeo-console.py  leo-plugins.cfg   ruff.toml
    README.md        launchLeo.py          leo_to_html.xsl   run_pytest_tests.py
    [user@fedora-leointeg-study-vm leo-editor]$
    [user@fedora-leointeg-study-vm leo-editor]$ cd leo/
    [user@fedora-leointeg-study-vm leo]$
    [user@fedora-leointeg-study-vm leo]$ ls
    Icons        __pycache__  config  dist  extensions  modes    py.typed  test    unittests
    __init__.py  commands     core    doc   external    plugins  scripts   themes  www
    [user@fedora-leointeg-study-vm leo]$
    [user@fedora-leointeg-study-vm leo]$ which python
    /usr/bin/python
    [user@fedora-leointeg-study-vm leo]$
    [user@fedora-leointeg-study-vm leo]$ python --version
    Python 3.13.5
    [user@fedora-leointeg-study-vm leo]$
    [user@fedora-leointeg-study-vm leo]$ which leo
    ~/.local/bin/leo
    [user@fedora-leointeg-study-vm leo]$
    [user@fedora-leointeg-study-vm leo]$ leo --version
    Leo 6.8.5, July 2, 2025
    Python 3.13.5
    linux
    [user@fedora-leointeg-study-vm leo]$

### Log-003 ###

    (Leo) [user@fedora-leointeg-study-vm Leo]$
    (Leo) [user@fedora-leointeg-study-vm Leo]$ pwd
    /home/user/PyVE/PyPI/Leo
    (Leo) [user@fedora-leointeg-study-vm Leo]$
    (Leo) [user@fedora-leointeg-study-vm Leo]$ which python
    ~/PyVE/PyPI/Leo/bin/python
    (Leo) [user@fedora-leointeg-study-vm Leo]$
    (Leo) [user@fedora-leointeg-study-vm Leo]$ python --version
    Python 3.13.5
    (Leo) [user@fedora-leointeg-study-vm Leo]$
    (Leo) [user@fedora-leointeg-study-vm Leo]$ which leo
    ~/PyVE/PyPI/Leo/bin/leo
    (Leo) [user@fedora-leointeg-study-vm Leo]$
    (Leo) [user@fedora-leointeg-study-vm Leo]$ leo --version
    Leo 6.8.5, July 2, 2025
    Python 3.13.5
    linux
    (Leo) [user@fedora-leointeg-study-vm Leo]$
    (Leo) [user@fedora-leointeg-study-vm Leo]$ ls
    bin  etc  include  lib  lib64  pyvenv.cfg  share
    (Leo) [user@fedora-leointeg-study-vm Leo]$
    (Leo) [user@fedora-leointeg-study-vm Leo]$ cd bin
    (Leo) [user@fedora-leointeg-study-vm bin]$
    (Leo) [user@fedora-leointeg-study-vm bin]$ ls
    Activate.ps1   flexx                   leo           pycodestyle      pyuic6          sphinx-build
    activate       fonttools               leo-c         pyflakes         rst2html        sphinx-quickstart
    activate.csh   get_gprof               leo-console   pyftmerge        rst2html4       stubgen
    activate.fish  get_objgraph            markdown-it   pyftsubset       rst2html5       stubtest
    black          isort                   markdown_py   pygmentize       rst2latex       symilar
    blackd         isort-identify-imports  mypy          pylint           rst2man         ttx
    coverage       jsonschema              mypyc         pylint-config    rst2odt         twine
    coverage-3.13  jupyter                 normalizer    pylupdate6       rst2pseudoxml   undill
    coverage3      jupyter-migrate         numpy-config  pyproject-build  rst2s5          webruntime
    depyc          jupyter-troubleshoot    pip           pyreverse        rst2xetex       websockets
    dmypy          jupyter-trust           pip3          pytest           rst2xml
    docutils       jupytext                pip3.13       python           ruff
    f2py           jupytext-config         py.test       python3          sphinx-apidoc
    flake8         keyring                 pybabel       python3.13       sphinx-autogen
    (Leo) [user@fedora-leointeg-study-vm bin]$
    (Leo) [user@fedora-leointeg-study-vm bin]$ cat leo
    #!/home/user/PyVE/PyPI/Leo/bin/python
    # -*- coding: utf-8 -*-
    import re
    import sys
    from leo.core.runLeo import run
    if __name__ == '__main__':
        sys.argv[0] = re.sub(r'(-script\.pyw|\.exe)?$', '', sys.argv[0])
        sys.exit(run())
    (Leo) [user@fedora-leointeg-study-vm bin]$

### Log-004 ###

    (Leo) [user@fedora-leointeg-study-vm Leo]$
    (Leo) [user@fedora-leointeg-study-vm Leo]$ pwd
    /home/user/PyVE/GitHub/Leo
    (Leo) [user@fedora-leointeg-study-vm Leo]$
    (Leo) [user@fedora-leointeg-study-vm Leo]$ which python
    ~/PyVE/GitHub/Leo/bin/python
    (Leo) [user@fedora-leointeg-study-vm Leo]$
    (Leo) [user@fedora-leointeg-study-vm Leo]$ python --version
    Python 3.13.5
    (Leo) [user@fedora-leointeg-study-vm Leo]$
    (Leo) [user@fedora-leointeg-study-vm Leo]$ which leo
    ~/.local/bin/leo
    (Leo) [user@fedora-leointeg-study-vm Leo]$
    (Leo) [user@fedora-leointeg-study-vm Leo]$ leo --version
    Leo 6.8.5, July 2, 2025
    Python 3.13.5
    linux
    (Leo) [user@fedora-leointeg-study-vm Leo]$
    (Leo) [user@fedora-leointeg-study-vm Leo]$ cd leo-editor/
    (Leo) [user@fedora-leointeg-study-vm leo-editor]$
    (Leo) [user@fedora-leointeg-study-vm leo-editor]$ ls
    CONTRIBUTING.md  ekr-spellpyx.txt      leo-core.cfg      ruff.toml
    LICENSE          git-manifest.txt      leo-plugins.cfg   run_pytest_tests.py
    MANIFEST.in      launchLeo-console.py  leo_to_html.xsl   run_travis_unit_tests.py
    PKG-INFO.TXT     launchLeo.py          profileLeo.py     setup.cfg
    README.md        leo                   pyproject.toml
    docs             leo-commands.cfg      requirements.txt
    (Leo) [user@fedora-leointeg-study-vm leo-editor]$
    (Leo) [user@fedora-leointeg-study-vm leo-editor]$ cd leo
    (Leo) [user@fedora-leointeg-study-vm leo]$
    (Leo) [user@fedora-leointeg-study-vm leo]$ ls
    Icons        commands  core  doc         external  plugins   scripts  themes     www
    __init__.py  config    dist  extensions  modes     py.typed  test     unittests
    (Leo) [user@fedora-leointeg-study-vm leo]$

### Log-005 ###

    [user@fedora-leointeg-study-vm ~]$
    [user@fedora-leointeg-study-vm ~]$ cd projects
    [user@fedora-leointeg-study-vm projects]$
    [user@fedora-leointeg-study-vm projects]$ codium --version
    1.102.04606
    703775aa43c0c5002374484203f44483f6e49c0e
    x64
    [user@fedora-leointeg-study-vm projects]$
    [user@fedora-leointeg-study-vm projects]$ codium --list-extensions --show-versions
    boltex....@1.0.24
    ms-pytho...@2025.6.0
    ms-pytho...@2025.4.0
    [user@fedora-leointeg-study-vm projects]$
    [user@fedora-leointeg-study-vm projects]$ codium .
    [user@fedora-leointeg-study-vm projects]$

    ###

    Launching server with command: python3 /home/user/.local/lib/python3.13/site-packages/leo/core/leoserver.py --port 32125

    Starting LeoBridge Server 1.0.12 (Launch with -h for help)
    LeoServer: init leoBridge in 0.54 sec.


    ###

    Error - Cannot start server: Leo server exited with code 1

### Log-006 ###

    [user@fedora-leointeg-study-vm ~]$
    [user@fedora-leointeg-study-vm ~]$ cd projects
    [user@fedora-leointeg-study-vm projects]$
    [user@fedora-leointeg-study-vm projects]$ codium --version
    1.102.04606
    703775aa43c0c5002374484203f44483f6e49c0e
    x64
    [user@fedora-leointeg-study-vm projects]$
    [user@fedora-leointeg-study-vm projects]$ codium --list-extensions --show-versions
    boltex....@1.0.24
    ms-pytho...@2025.6.0
    ms-pytho...@2025.4.0
    [user@fedora-leointeg-study-vm projects]$
    [user@fedora-leointeg-study-vm projects]$ codium .
    [user@fedora-leointeg-study-vm projects]$

    ###

    Launching server with command: python3 /home/user/projects/leo-editor/leo/core/leoserver.py --port 32125

    Starting LeoBridge Server 1.0.13 (Launch with -h for help)
    LeoServer: init leoBridge in 0.49 sec.
    LeoBridge started at localhost on port: 32125.
    Ctrl+c to break
    server: User Connected, Total: 1, Limit: 1
    Leo 6.8.6-devel, devel branch, build 8e1958728f
    2025-07-10 16:04:07 -0500
    Python 3.13.5, LeoGui: dummy version
    linux


### Log-007 ###

    (Leo) [user@fedora-leointeg-study-vm Leo]$
    (Leo) [user@fedora-leointeg-study-vm Leo]$ pwd
    /home/user/PyVE/PyPI/Leo
    (Leo) [user@fedora-leointeg-study-vm Leo]$
    (Leo) [user@fedora-leointeg-study-vm Leo]$ codium .
    (Leo) [user@fedora-leointeg-study-vm Leo]$

    ###

    Error - Cannot start server: Cannot find server script

### Log-008 ###

    (Leo) [user@fedora-leointeg-study-vm Leo]$
    (Leo) [user@fedora-leointeg-study-vm Leo]$ pwd
    /home/user/PyVE/GitHub/Leo
    (Leo) [user@fedora-leointeg-study-vm Leo]$
    (Leo) [user@fedora-leointeg-study-vm Leo]$ codium .
    (Leo) [user@fedora-leointeg-study-vm Leo]$

    ###

    Launching server with command: python3 /home/user/PyVE/GitHub/Leo/leo-editor/leo/core/leoserver.py --port 32125

    Starting LeoBridge Server 1.0.13 (Launch with -h for help)
    LeoServer: init leoBridge in 0.85 sec.
    LeoBridge started at localhost on port: 32125.
    Ctrl+c to break
    server: User Connected, Total: 1, Limit: 1
    Leo 6.8.6-devel, devel branch, build 8e1958728f
    2025-07-10 16:04:07 -0500
    Python 3.13.5, LeoGui: dummy version
    linux

Félix

unread,
Jul 14, 2025, 10:47:12 AMJul 14
to leo-editor
I've documented myself on python venv --- and I've implemented total venv support on the dev branch. :) hehe!

All those situations should be supported without problems.

I'd like to wait for Leo 6.8.6 to release because it contains the fix for the websockets library support of newer versions of websockets.

(hopefully this will be soon!)

Félix

Viktor Ransmayr

unread,
Jul 14, 2025, 11:36:15 AMJul 14
to leo-e...@googlegroups.com
Hello Félix,

Am Mo., 14. Juli 2025 um 16:47 Uhr schrieb Félix <felix...@gmail.com>:
I've documented myself on python venv --- and I've implemented total venv support on the dev branch. :) hehe!

All those situations should be supported without problems.

I'd like to wait for Leo 6.8.6 to release because it contains the fix for the websockets library support of newer versions of websockets.

Great to hear that ! 

Looking forward to try out the new releases ...

With kind regards,

Viktor

Reply all
Reply to author
Forward
0 new messages