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