This tries to simulate a complex dependency of native code with wheels depending on other wheels that contain cython libraries depending on shared objects.
The purpose of this experiment is to verify how shared objects from multiple different libraries can be made available to other weels without copying them into every wheel.
parent
|
| ---- libtwo.whl
| |
| | --- libbar.so
| | |
| | ---- libfoo.so
| | ---- libone.whl
| |
| ---- libfoo.so
| ---- libone.whl
|
---- libfoo.so
Use try.sh
or you can manually do
- Run
cd libfoo; make
- Run
cd libbar; make
- Run
cd pylib1; ./makewheel.sh
- Run
cd pylib2; ./makewheel.sh
- Run
consolidatewheels pylib1/wheelhouse/*.whl pylib2/wheelhouse/*.whl --dest=./patchedwheels
- Create a virtual environment and activate it (
python -mvenv venv; source ./venv/bin/activate
) - Run
pip install patchedwheels/*.whl --force-reinstall
- Run
cd pyparent; python test.py