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/8559There 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...