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.
-
Désactivez votre environnement virtuel Python.
-
Chargez le module Arrow.
oùx.y.zest la version requise. -
Réactivez votre environnement virtuel créé précédemment :
-
Et réexécutez votre commande d'installation pip.
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 :
Si la commande n'affiche rien, l'importation a réussi et le module fournitpyarrow pour le module Python utilisé.
Ou on peut vérifier si pip le détecte :
Sipip 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.