As of version 80.0.0, the Python package setuptools
has introduced a breaking change that may affect your Python Functions. All Python Functions rely on setuptools
at this time - it is crucial to take immediate action to ensure compatibility and stability.
What Changed in Setuptools 80.0.0?
The latest release of setuptools
version 80.0.0
removes support for easy_install
that disrupts the existing Python Functions workflow. These changes can will lead to this error when building: Unexpected failure in task condaDevelop
.
Recommended Actions
To mitigate potential issues, we advise pinning the version of setuptools
to <=79.0.1
in your meta.yaml
file. This ensures that your environment remains stable and continues to function as expected. Additionally, we recommend avoiding the inclusion of the packaging
package in your build
section, if able.
Example meta.yaml
Below is an example of how you should configure your meta.yaml
file to reflect these recommendations:
...
requirements:
build:
- python
- setuptools <=79.0.1
run:
- python
- functions-python-api
- setuptools <=79.0.1
build:
noarch: python
script: python setup.py install --single-version-externally-managed --record=record.txt
...
Key Points
- Pin Setuptools Version: Ensure that both the
build
andrun
sections of yourmeta.yaml
file specifysetuptools <=79.0.1
. This prevents automatic upgrades to version>=80.0.0
, introducing breaking changes. - Optionally, exclude
packaging
from Build: Refrain from including thepackaging
package in thebuild
section of yourmeta.yaml
to avoid potential conflicts.