python deprecation

37 views
Skip to first unread message

vlcvboyer

unread,
Jan 20, 2023, 12:24:18 AM1/20/23
to golden-cheetah-developers
Hi Alejandro,

I just finished deep investigation on appveyor issue.
I confirm that appveyor.yml on master branch needs an update in regard with python deprecation.
At present builds are successful thanks to cache already baked from previous builds.
Fortunately the test "if (-not (Test-Path 'C:\Python'))" in appveyor.yml will bypass the actions which will, due to recent packages update, lead to a build failure.
But when you'll rebuild from scratch on appveyor or if you clear the cache prior to build process then the recent updates on python will raise an error thus build process will stop unsuccessful:
Error shown is:
"
Command executed with exception:   DEPRECATION: future is being installed using the legacy 'setup.py install' method, because it does not have a 'pyproject.toml' and the 'wheel' package is not installed. pip 23.1 will enforce this behaviour change. A possible replacement is to enable the '--use-pep517' option. Discussion can be found at https://github.com/pypa/pip/issues/8559
"

This is due to deprecation on python package installer.
For more details, please see https://github.com/pypa/pip/issues/8559

There are several options to fix this issue:
- do not install (python / pip / packages ?) by name only but specify the suitable old version to install in order to avoid this deprecation
and/or
- add optional parameters such as
     "--use-pep517" when installing packages by executing "c:\python37-x64\python -m pip install -r src\Python\requirements.txt -t C:\Python\lib\site-packages" 
     "--no-warn-script-location" when upgrading pip "c:\python37-x64\python -m pip install --upgrade pip" (I suppose that this one is not mandatory but allows clean log in regard with "c:\python37-x64" not in path)
and/or
- install wheel (?)

I'm not a specialist on python installation thus cannot propose the suitable solution in this case. However, as a programmer I'll suggest to specify version when installing/upgrading in order to increase reliability
FYI, for my own usage I just added the 2 optional parameters which allows to create installation package wich is enought
But my build will not be available for public thus I have less requirements than you...
By adding those options my build is successful up to installer package creation.
I did not deploy and cannot confirm that it will not create issue at deployment stage...

You are true my previous patch PR #4309 was generating an error when calling "makensis" to create package.
Unfortunately my only objective was to build executable and did not check installer creation process.
I appologies for the same and thanks appveyor for this continuous check on PR !

I hope my explanation is clear...

Ale Martinez

unread,
Jan 20, 2023, 4:22:25 PM1/20/23
to golden-cheetah-developers
Yes, agree WRT the cached Python, what I find weird is this leads to an error, reading the pip issue I would expect just a warning...
Anyway, adding "pip install wheel" after pip upgrade seems the way to fix this, but I have not tested it.  
Reply all
Reply to author
Forward
0 new messages