Slackbot
07/12/2024, 9:04 AMYing Ting Loo
07/12/2024, 9:06 AMMarvin
07/12/2024, 9:06 AMprefect:2-python3.11
. It's advisable to use specific versions carefully, especially since images can update automatically to the latest Prefect version.
- Reference: Docker and Prefect Versioning
2. prefect-azure
Compatibility:
- The azureml-core
package used in prefect-azure
isn't fully compatible with Python 3.11 and Python 3.12. There's ongoing work to add warnings and handle tests that use azureml-core
under these Python versions.
- GitHub Issue on Prefect-Azure
3. General Workflow Issues:
- Some issues have been reported when using certain functionalities (e.g., ProcessPoolExecutor
) with Python 3.11 in Prefect workflows, particularly noted to hang on Linux but work on MacOS when default settings are used.
- A workaround involves setting the start method to spawn
. This can resolve some issues.
- GitHub Issue on ProcessPoolExecutor
Recommendations:
1. Review the specific Prefect version and Python version compatibility, especially when using Docker images.
2. Be aware of limitations with prefect-azure
and avoid using incompatible components.
3. Adapt workflows by adjusting multiprocessing settings, such as changing the start method to spawn
if you encounter issues.
If you have any specific errors or more details about the issue, please share them for a targeted solution.Ying Ting Loo
07/12/2024, 9:10 AMMarvin
07/12/2024, 9:20 AMazureml-core
or other libraries with native extensions.
3. Isolation and Testing:
- Create a minimal environment with just Prefect and its core dependencies. Incrementally add other packages until the issue surfaces.
Here's how you can proceed:
1. Identify Known Issues:
From the information gathered earlier:
- azureml-core
needs to be checked as it has known issues with Python 3.11.
- Multiprocessing-related libraries or settings could also be problematic.
2. Minimal Environment Setup:
Create a new virtual environment and install only Prefect:
python3.11 -m venv env
source env/bin/activate
pip install prefect
3. Incremental Addition of Packages:
Add other packages one by one, and monitor for issues:
pip install your-package
4. Run Your Workflow:
Test your workflow after each installation to see if the issue reappears.
If you provide more specific error messages or details about the problematic workflow, we can further narrow down the potential cause. Without detailed error logs, it is generally packages with native extensions or those interacting with multiprocessing that are likely suspects.