Dummy wheel
Dummy wheels exist in the wheelhouse to provide placeholders for some popular Python packages that are available on PyPI, but are modules on our infrastructure. They are all tagged (dummy) with a local version, for instance pyarrow-23.0.1+dummy.computecanada-py3-none-any.whl.
Such examples are: * pyarrow (Arrow) * opencv_python (OpenCV) * MPI4py
Troubleshooting¶
Note
In the error message described below, pyarrow is used as an example, but it also occurs in other packages as well.
When a dummy wheel is selected by pip, an error is raised because pip could not find a match for this requirement.
This is a normal error generated by this dummy wheel.¶
When a pyarrow dependency is not met, an error is raised when the dummy wheel is selected. This is normal.
Possible reasons are:
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 the virtual environment, load the module, re-activate the virtual environment, and re-run the pip install command.
-
Deactivate your virtual environment.
-
Load the Arrow module.
wherex.y.zis the version needed. -
Re-activate your previously created virtual environment.
-
And re-run the
pip installcommand.
Package/module version¶
The Arrow module loaded does not meet the requirement. For instance, (from pyarrow>=21.0.0->datasets) 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 results in the dummy wheel being installed.
You can find the 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 providespyarrow for the Python module used.
Or you can check if pip sees it.
If pip list shows an entry, then pyarrow is available and seen by pip. Otherwise, if there is no entry, pyarrow is not available.