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
buildandrunsections of yourmeta.yamlfile specifysetuptools <=79.0.1. This prevents automatic upgrades to version>=80.0.0, introducing breaking changes. - Optionally, exclude
packagingfrom Build: Refrain from including thepackagingpackage in thebuildsection of yourmeta.yamlto avoid potential conflicts.