I found a work-around for installing Leo from PyPi (i.e., with pip) under 
Python 3.12.  I already had updated to Leo 3.7.4 under Python 3.11.  I 
copied the entire leo directory under *site-packages* for Python 3.11 and 
pasted it into *site-packages* for Python 3.12.  Leo launched and seems to 
work normally. (I normally run Leo from my clone directory, not the PyPi 
verson).

Of course, you have to manually install any dependencies that didn't get 
installed when the pip install failed.

On Friday, October 13, 2023 at 2:09:46 PM UTC-4 Thomas Passin wrote:

> Note that after I manually installed pyqt6 and PyQt6-WebEngine, then I was 
> able to run Leo from my Git clone.  I don't know yet what functionality 
> might not work.  But there was no install by pip into site-packages .
>
> On Friday, October 13, 2023 at 2:00:20 PM UTC-4 Thomas Passin wrote:
>
>> Having just installed Python3.12 on Windows, I went to install Leo using 
>> pip.  I got a bog fail with a very long error message, below (I haven't 
>> done any diagnosis yet):
>>
>> C:\Tom\git\gf4-project>py -m pip install --user leo
>> Collecting leo
>>   Obtaining dependency information for leo from 
>> https://files.pythonhosted.org/packages/6a/84/6027d65578461cac1c7dc481294c300ebc06f4433132ddb45c4188cc6a29/leo-6.7.4-py3-none-any.whl.metadata
>>   Using cached leo-6.7.4-py3-none-any.whl.metadata (3.8 kB)
>> Collecting PyQt5>=5.15 (from leo)
>>   Using cached PyQt5-5.15.9-cp37-abi3-win_amd64.whl (6.8 MB)
>> Collecting PyQtWebEngine (from leo)
>>   Using cached PyQtWebEngine-5.15.6-cp37-abi3-win_amd64.whl (182 kB)
>> Collecting asttokens (from leo)
>>   Obtaining dependency information for asttokens from 
>> https://files.pythonhosted.org/packages/4f/25/adda9979586d9606300415c89ad0e4c5b53d72b92d2747a3c634701a6a02/asttokens-2.4.0-py2.py3-none-any.whl.metadata
>>   Downloading asttokens-2.4.0-py2.py3-none-any.whl.metadata (4.9 kB)
>> Collecting build>=0.6.0 (from leo)
>>   Obtaining dependency information for build>=0.6.0 from 
>> https://files.pythonhosted.org/packages/93/dd/b464b728b866aaa62785a609e0dd8c72201d62c5f7c53e7c20f4dceb085f/build-1.0.3-py3-none-any.whl.metadata
>>   Downloading build-1.0.3-py3-none-any.whl.metadata (4.2 kB)
>> Requirement already satisfied: docutils in 
>> c:\users\tom\appdata\local\programs\python\python312\lib\site-packages 
>> (from leo) (0.20.1)
>> Collecting flexx (from leo)
>>   Using cached flexx-0.8.4-py2.py3-none-any.whl (351 kB)
>> Collecting meta (from leo)
>>   Using cached meta-1.0.2.tar.gz (49 kB)
>>   Installing build dependencies ... done
>>   Getting requirements to build wheel ... done
>>   Preparing metadata (pyproject.toml) ... done
>> Collecting nbformat (from leo)
>>   Obtaining dependency information for nbformat from 
>> https://files.pythonhosted.org/packages/f4/e7/ef30a90b70eba39e675689b9eaaa92530a71d7435ab8f9cae520814e0caf/nbformat-5.9.2-py3-none-any.whl.metadata
>>   Downloading nbformat-5.9.2-py3-none-any.whl.metadata (3.4 kB)
>> Collecting pylint (from leo)
>>   Obtaining dependency information for pylint from 
>> https://files.pythonhosted.org/packages/73/79/e9649dd36ea3ada2b7a14e279b3dc6a9502541e1fd2ba5ed73cbd9e27840/pylint-3.0.1-py3-none-any.whl.metadata
>>   Downloading pylint-3.0.1-py3-none-any.whl.metadata (12 kB)
>> Collecting pyflakes (from leo)
>>   Obtaining dependency information for pyflakes from 
>> https://files.pythonhosted.org/packages/00/e9/1e1fd7fae559bfd07704991e9a59dd1349b72423c904256c073ce88a9940/pyflakes-3.1.0-py2.py3-none-any.whl.metadata
>>   Downloading pyflakes-3.1.0-py2.py3-none-any.whl.metadata (3.5 kB)
>> Collecting black (from leo)
>>   Obtaining dependency information for black from 
>> https://files.pythonhosted.org/packages/28/c7/150de595f9e5ee1efffeb398acfac3e37d218171100049c77e494326dc4b/black-23.9.1-py3-none-any.whl.metadata
>>   Downloading black-23.9.1-py3-none-any.whl.metadata (65 kB)
>>      ----------------------------------- 65.1/65.1 kB 1.7 MB/s eta 0:00:00
>> Collecting pyenchant (from leo)
>>   Using cached pyenchant-3.2.2-py3-none-win_amd64.whl (11.9 MB)
>> Collecting pyshortcuts>=1.7 (from leo)
>>   Downloading pyshortcuts-1.9.0-py3-none-any.whl (158 kB)
>>      --------------------------------- 158.1/158.1 kB 4.8 MB/s eta 0:00:00
>> Collecting sphinx (from leo)
>>   Obtaining dependency information for sphinx from 
>> https://files.pythonhosted.org/packages/b2/b6/8ed35256aa530a9d3da15d20bdc0ba888d5364441bb50a5a83ee7827affe/sphinx-7.2.6-py3-none-any.whl.metadata
>>   Downloading sphinx-7.2.6-py3-none-any.whl.metadata (5.9 kB)
>> Collecting tk (from leo)
>>   Using cached tk-0.1.0-py3-none-any.whl (3.9 kB)
>> INFO: pip is looking at multiple versions of leo to determine which 
>> version is compatible with other requirements. This could take a while.
>> Collecting leo
>>   Obtaining dependency information for leo from 
>> https://files.pythonhosted.org/packages/3e/99/4ecc80e91230cdb10c4f48950a5c88e31107d9997eafd8b950dd2e496696/leo-6.7.3-py3-none-any.whl.metadata
>>   Downloading leo-6.7.3-py3-none-any.whl.metadata (3.6 kB)
>>   Using cached leo-6.7.2-py3-none-any.whl (15.6 MB)
>>   Using cached leo-6.7.1-py3-none-any.whl (9.9 MB)
>>   Downloading leo-6.7.0-py3-none-any.whl (9.8 MB)
>>      ------------------------------------- 9.8/9.8 MB 9.6 MB/s eta 0:00:00
>>   Downloading leo-6.6.4-py3-none-any.whl (9.8 MB)
>>      ------------------------------------ 9.8/9.8 MB 27.3 MB/s eta 0:00:00
>>   Using cached leo-6.6.3-py3-none-any.whl (9.8 MB)
>>   Downloading leo-6.6.2-2.tar.gz (13.9 MB)
>>      ---------------------------------- 13.9/13.9 MB 19.8 MB/s eta 0:00:00
>>   Installing build dependencies ... done
>>   Getting requirements to build wheel ... done
>>   Preparing metadata (pyproject.toml) ... done
>> Discarding 
>> https://files.pythonhosted.org/packages/b7/08/d1542b5402be52bc0b8b58d4b0be4ec83eefdd69249e5fcf554b455c656b/leo-6.6.2-2.tar.gz
>>  
>> (from https://pypi.org/simple/leo/) (requires-python:>=3.6): Requested 
>> leo from 
>> https://files.pythonhosted.org/packages/b7/08/d1542b5402be52bc0b8b58d4b0be4ec83eefdd69249e5fcf554b455c656b/leo-6.6.2-2.tar.gz
>>  
>> has inconsistent version: expected '6.6.2.post2', but metadata has '6.6.2'
>>   Downloading leo-6.6.2-2-py3-none-any.whl (16.5 MB)
>>      ---------------------------------- 16.5/16.5 MB 16.8 MB/s eta 0:00:00
>> INFO: pip is still looking at multiple versions of leo to determine which 
>> version is compatible with other requirements. This could take a while.
>>   Using cached leo-6.6.1-py3-none-any.whl (13.3 MB)
>>   Using cached leo-6.6-py3-none-any.whl (13.2 MB)
>>   Using cached leo-6.5-2.tar.gz (7.8 MB)
>>   Installing build dependencies ... done
>>   Getting requirements to build wheel ... done
>>   Preparing metadata (pyproject.toml) ... done
>> Discarding 
>> https://files.pythonhosted.org/packages/45/cd/476186942882423ea5b2ccba0aa791f8e415d075eaf2c435bf5287ffb11f/leo-6.5-2.tar.gz
>>  
>> (from https://pypi.org/simple/leo/) (requires-python:>=3.6): Requested 
>> leo from 
>> https://files.pythonhosted.org/packages/45/cd/476186942882423ea5b2ccba0aa791f8e415d075eaf2c435bf5287ffb11f/leo-6.5-2.tar.gz
>>  
>> has inconsistent version: expected '6.5.post2', but metadata has '6.5'
>>   Using cached leo-6.5-2-py3-none-any.whl (9.6 MB)
>>   Downloading leo-6.4-3.tar.gz (7.9 MB)
>>      ------------------------------------ 7.9/7.9 MB 16.2 MB/s eta 0:00:00
>>   Installing build dependencies ... done
>>   Getting requirements to build wheel ... done
>>   Preparing metadata (pyproject.toml) ... done
>> Discarding 
>> https://files.pythonhosted.org/packages/e3/a6/ebf21e626bf00a77e3984f612ad587c41e1f687891039e497bd4f00fbaa7/leo-6.4-3.tar.gz
>>  
>> (from https://pypi.org/simple/leo/) (requires-python:>=3.6): Requested 
>> leo from 
>> https://files.pythonhosted.org/packages/e3/a6/ebf21e626bf00a77e3984f612ad587c41e1f687891039e497bd4f00fbaa7/leo-6.4-3.tar.gz
>>  
>> has inconsistent version: expected '6.4.post3', but metadata has '6.4'
>>   Downloading leo-6.4-3-py3-none-any.whl (9.7 MB)
>>      ------------------------------------ 9.7/9.7 MB 18.2 MB/s eta 0:00:00
>>   Using cached leo-6.3-py3-none-any.whl (9.7 MB)
>> INFO: This is taking longer than usual. You might need to provide the 
>> dependency resolver with stricter constraints to reduce runtime. See 
>> https://pip.pypa.io/warnings/backtracking for guidance. If you want to 
>> abort this run, press Ctrl + C.
>>   Downloading leo-6.2.1-py3-none-any.whl (9.6 MB)
>>      ------------------------------------ 9.6/9.6 MB 12.0 MB/s eta 0:00:00
>> Collecting setupext-janitor>=1.1 (from leo)
>>   Using cached setupext_janitor-1.1.2-py2.py3-none-any.whl (7.6 kB)
>> Collecting leo
>>   Downloading leo-6.2-py3-none-any.whl (9.6 MB)
>>      ------------------------------------- 9.6/9.6 MB 9.5 MB/s eta 0:00:00
>>   Downloading leo-6.1-py2.py3-none-any.whl (9.4 MB)
>>      ------------------------------------ 9.4/9.4 MB 18.8 MB/s eta 0:00:00
>>   Using cached leo-6.0-py2.py3-none-any.whl (9.4 MB)
>> Collecting shortcutter (from leo)
>>   Using cached shortcutter-0.1.21.tar.gz (30 kB)
>>   Installing build dependencies ... done
>>   Getting requirements to build wheel ... error
>>   error: subprocess-exited-with-error
>>
>>   × Getting requirements to build wheel did not run successfully.
>>   │ exit code: 1
>>   ╰─> [31 lines of output]
>>       
>> C:\Users\tom\AppData\Local\Temp\pip-install-i_4f831n\shortcutter_83fcdcd3eede471e9e35217d7c6a931f\versioneer.py:485:
>>  
>> SyntaxWarning: invalid escape sequence '\s'
>>         LONG_VERSION_PY['git'] = '''
>>       Traceback (most recent call last):
>>         File 
>> "C:\Users\tom\AppData\Local\Programs\Python\Python312\Lib\site-packages\pip\_vendor\pyproject_hooks\_in_process\_in_process.py",
>>  
>> line 353, in <module>
>>           main()
>>         File 
>> "C:\Users\tom\AppData\Local\Programs\Python\Python312\Lib\site-packages\pip\_vendor\pyproject_hooks\_in_process\_in_process.py",
>>  
>> line 335, in main
>>           json_out['return_val'] = hook(**hook_input['kwargs'])
>>                                    ^^^^^^^^^^^^^^^^^^^^^^^^^^^^
>>         File 
>> "C:\Users\tom\AppData\Local\Programs\Python\Python312\Lib\site-packages\pip\_vendor\pyproject_hooks\_in_process\_in_process.py",
>>  
>> line 118, in get_requires_for_build_wheel
>>           return hook(config_settings)
>>                  ^^^^^^^^^^^^^^^^^^^^^
>>         File 
>> "C:\Users\tom\AppData\Local\Temp\pip-build-env-luv9yyzl\overlay\Lib\site-packages\setuptools\build_meta.py",
>>  
>> line 355, in get_requires_for_build_wheel
>>           return self._get_build_requires(config_settings, 
>> requirements=['wheel'])
>>                 
>>  ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
>>         File 
>> "C:\Users\tom\AppData\Local\Temp\pip-build-env-luv9yyzl\overlay\Lib\site-packages\setuptools\build_meta.py",
>>  
>> line 325, in _get_build_requires
>>           self.run_setup()
>>         File 
>> "C:\Users\tom\AppData\Local\Temp\pip-build-env-luv9yyzl\overlay\Lib\site-packages\setuptools\build_meta.py",
>>  
>> line 507, in run_setup
>>           super(_BuildMetaLegacyBackend, 
>> self).run_setup(setup_script=setup_script)
>>         File 
>> "C:\Users\tom\AppData\Local\Temp\pip-build-env-luv9yyzl\overlay\Lib\site-packages\setuptools\build_meta.py",
>>  
>> line 341, in run_setup
>>           exec(code, locals())
>>         File "<string>", line 23, in <module>
>>         File 
>> "C:\Users\tom\AppData\Local\Temp\pip-install-i_4f831n\shortcutter_83fcdcd3eede471e9e35217d7c6a931f\versioneer.py",
>>  
>> line 1473, in get_version
>>           return get_versions()["version"]
>>                  ^^^^^^^^^^^^^^
>>         File 
>> "C:\Users\tom\AppData\Local\Temp\pip-install-i_4f831n\shortcutter_83fcdcd3eede471e9e35217d7c6a931f\versioneer.py",
>>  
>> line 1406, in get_versions
>>           cfg = get_config_from_root(root)
>>                 ^^^^^^^^^^^^^^^^^^^^^^^^^^
>>         File 
>> "C:\Users\tom\AppData\Local\Temp\pip-install-i_4f831n\shortcutter_83fcdcd3eede471e9e35217d7c6a931f\versioneer.py",
>>  
>> line 412, in get_config_from_root
>>           parser = configparser.SafeConfigParser()
>>                    ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
>>       AttributeError: module 'configparser' has no attribute 
>> 'SafeConfigParser'. Did you mean: 'RawConfigParser'?
>>       [end of output]
>>
>>   note: This error originates from a subprocess, and is likely not a 
>> problem with pip.
>> error: subprocess-exited-with-error
>>
>> × Getting requirements to build wheel did not run successfully.
>> │ exit code: 1
>> ╰─> See above for output.
>>
>> note: This error originates from a subprocess, and is likely not a 
>> problem with pip.
>>
>

-- 
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/e00eedff-de0f-402d-ac49-dcdfb00361c5n%40googlegroups.com.

Reply via email to