DummyWheel
Dummy Wheel exists in the wheelhouse to provide placeholders for some popular Python packages that are available on PyPI but as modules on our infrastructure. They are all tagged with a local version (dummy), for instance: pyarrow-23.0.1+dummy.computecanada-py3-none-any.whl.
Such examples are: * pyarrow (Arrow) * opencv_python (OpenCV) * MPI4py
When a dummy wheel is selected by pip it will raise the error below since pip could not find a match for this requirement.
Troubleshooting¶
This is a normal error generated by this dummy wheel.¶
Note
In the case below, pyarrow is used as an example but the same applies to other packages as well.
When pyarrow dependency is not met, an error will be raised when the dummy wheel is selected. This is normal.
This means that either:
1. the arrow module was not loaded, hence pip could not find pyarrow
2. the arrow version loaded does not meet the requested version from the dependent package
3. the arrow module loaded does not support the python version used
Module not loaded¶
In this case, deactivate any virtual environment, load the module, re-activate the virtual environment, and re-run your pip install command.
-
Deactivate your virtual environment :
-
Load the Arrow module :
wherex.y.zis the version needed. -
Re-activate your previously created virtual env. :
-
And re-run your pip install command.
Package/module version¶
The arrow module loaded does not meet the requirement. For instance, (from pyarrow>=21.0.0->datasets) which means that this version of the datasets package requires pyarrow greater or equal to version 21.0.0.
In other words, using any prior version with this version of datasets will result in the dummy wheel being installed.
You can find the asked requirement (version) by looking at the line (pyarrow_noinstall)
...
Processing /cvmfs/soft.computecanada.ca/custom/python/wheelhouse/generic/pyarrow_noinstall-9999+dummy.computecanada.tar.gz (from pyarrow>=21.0.0->datasets)
No Python bindings¶
The loaded module may not have the python bindings for the python module loaded. You can quickly verify by using:
If the command displays nothing, the import was successful and the module providepyarrow for the python module used.
Or one can check if pip sees it:
If pip list show an entry, then pyarrow is available and seen by pip. Otherwise, in case of no entry, pyarrow is not available.