Skip to content

Dummy wheel/en

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.

  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 environment.

    source <env>/bin/activate
    

  4. And re-run the 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) 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 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 you 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, if there is no entry, pyarrow is not available.