Skip to content

DummyWheel/en

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.

  1. Deactivate your virtual environment :

    test $VIRTUAL_ENV && deactivate
    

  2. Load the Arrow module :

    module load gcc arrow/x.y.z python/x.y.z
    
    where x.y.z is the version needed.

  3. Re-activate your previously created virtual env. :

    source <env>/bin/activate
    

  4. And re-run your pip install command.

    pip install <package>
    

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)

pip install --no-index datasets
...
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:

python -c "import pyarrow"
If the command displays nothing, the import was successful and the module provides pyarrow for the python module used.

Or one can check if pip sees it:

pip list | grep pyarrow
pyarrow    23.0.0

If pip list shows an entry, then pyarrow is available and seen by pip. Otherwise, in case of no entry, pyarrow is not available.