Python Ecosystem for Power Hints and Tips, Issue Tracking
NOTE: We are starting to add a few requirements.txt base examples and a few tested programs using those to help people get started. Like with Pypi, there are a lot of possible permutations and combinations and not all will be tested, but the goal is that there should be a clear path for major python toolset combinations. We will also welcome additonal snippets or example to help clarify. We will ask for a DCO on any contributions. We are also going to track any issues or requests here, although note that as we are building this out, requests will be "as we can" while we are focused on some particular projects and combinations.
We appreciate your patience, and hopefully this guidance below is generalized, and you can see consolidated examples in the examples directory.
THANKS!!
Here's a comprehensive and streamlined guide to using optimized Python packages on IBM Power systems.
- Recommended: Python 3.10, 3.11, or 3.12
- Best support: 3.11 and 3.12 (most packages available)
This isolates dependencies and avoids system conflicts:
python3.12 -m venv venv
source venv/bin/activateUse --prefer-binary to prioritize prebuilt Power wheels:
pip install --prefer-binary <package-name> \
--extra-index-url=https://wheels.developerfirst.ibm.com/ppc64le/linux- This pulls from IBM’s Power-optimized wheel repo.
- Any
noarchdependencies will still come from PyPI.
Use devpi-client to explore the repository:
pip install devpi-client
devpi use https://wheels.developerfirst.ibm.com/ppc64le/linux
devpi listSome packages (e.g., TensorFlow, PyTorch, OpenBLAS) require shared libraries at runtime.
If you encounter errors like:
ImportError: libXYZ.so: cannot open shared object file
Set the path to your native libraries:
export LD_LIBRARY_PATH=/path/to/libs:$LD_LIBRARY_PATH💡 Use ldd $(which python) or ldd <binary> to check for missing .so files.
- If a package fails to install:
pip install --prefer-binary --no-cache-dir <package-name>
- Ensure you're using the correct Python version.
- If a package is missing, request it via:
- Always use a virtual environment.
- Keep tools up to date:
pip install --upgrade pip setuptools
- Use
--prefer-binaryto avoid unnecessary source builds.