Skip to content

Les wheels factices sont présents dans l'entrepôt de wheels pour servir de substituts à certains paquets Python populaires qui sont disponibles sur PyPI, mais qui existent comme modules sur notre infrastructure. Ils sont tous étiquetés avec une version locale (dummy), par exemple : pyarrow-23.0.1+dummy.computecanada-py3-none-any.whl.

Des exemples incluent : * pyarrow (Arrow) * opencv_python (OpenCV) * MPI4py

Lorsqu'un wheel factice est sélectionné par pip, il lèvera l'erreur ci-dessous car pip n'a pas pu trouver de correspondance pour cette exigence.

Dépannage

Ceci est une erreur normale générée par ce wheel factice.

Remarque

Dans le cas ci-dessous, pyarrow est utilisé comme exemple, mais la même chose s'applique à d'autres paquets également.

Lorsque la dépendance pyarrow n'est pas satisfaite, une erreur sera levée lorsque le wheel factice est sélectionné. Ceci est normal. Cela signifie que soit : 1. le module arrow n'a pas été chargé, par conséquent pip n'a pas pu trouver pyarrow 2. la version d'Arrow chargée ne correspond pas à la version requise par le paquet dépendant 3. le module Arrow chargé ne supporte pas la version Python utilisée

Module non chargé

Dans ce cas, désactivez tout environnement virtuel, chargez le module, réactivez l'environnement virtuel, puis réexécutez votre commande d'installation pip.

  1. Désactivez votre environnement virtuel Python.

    test $VIRTUAL_ENV && deactivate
    

  2. Chargez le module Arrow.

    module load gcc arrow/x.y.z python/x.y.z
    
    x.y.z est la version requise.

  3. Réactivez votre environnement virtuel créé précédemment :

    source <env>/bin/activate
    

  4. Et réexécutez votre commande d'installation pip.

    pip install <package>
    

Version du paquet/module

Le module arrow chargé ne satisfait pas l'exigence. Par exemple, (from pyarrow>=21.0.0->datasets) signifie que cette version du paquet datasets requiert pyarrow supérieur ou égal à la version 21.0.0.

Autrement dit, l'utilisation de toute version antérieure avec cette version de datasets entraînera l'installation du wheel factice.

Vous pouvez trouver l'exigence (version) demandée en examinant la ligne (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)

Pas de liaisons Python

Le module chargé pourrait ne pas avoir les liaisons Python pour le module Python utilisé. Vous pouvez rapidement vérifier en utilisant :

python -c "import pyarrow"
Si la commande n'affiche rien, l'importation a réussi et le module fournit pyarrow pour le module Python utilisé.

Ou on peut vérifier si pip le détecte :

pip list | grep pyarrow
pyarrow    23.0.0
Si pip list affiche une entrée, alors pyarrow est disponible et détecté par pip. Autrement, en l'absence d'entrée, pyarrow n'est pas disponible.