Utilisation de CVZONE

Bonjour, sur Pi 5, pas de problème avec Python et Opencv, mais CVZONE n’est pas installable sauf dans un environnement virtuel : OK … mais lorque je fais import CVZONE dans un progamme Python, le sytème me dit que CVZONE est inconnu ! pourtant son installation est bien visible à coté de CV2 et NUMPY …
ou est le BUG ? merci pour toute suggestion permettant de solutionner ce problème
ci-jointe, une recopie d’écran:

Bonjour,

Python est sensible à la casse, avez vous respecté les minuscules/majuscules ?

A+

Merci pour votre suggestion … mais ici n’est pas le problème.
Il serait intéressant d’avoir l’avis d’un utlisateur de cvzone sur Pi, il pourrait également confirmer qu’on ne peut l’installer que dans un environnement virtuel … (ce n’est pas le cas dans les exemples sur le net ?)
Cordialement
Alain

Bonjour,
Je suis curieux de savoir comment tu as installé ton environnement virtuel, car chez moi l’ environnement vitruel (.env) se trouve dans le répertoire /home/user et est un dossier caché.
Et pour utiliser cet environnement je place en tête de fichier les lignes suivantes:

#!/home/michel/.env/bin/python
# coding=UTF-8

Ce 'est pas pour utiliser cvzone mais pour la librairie wifi.

Hello Mik91390,
En ligne de commande, je me suis placé dans le dossier dans lequel je voulais installer mon environnement virtuel, pour moi « projectsenv », puis j’ai entré: « source bin/activate ».
Et mon prompt est devenu " (projectsenv) alain@raspberrypi:~/ "
voir la copie d’écran
sinon j’avais un message d’erreur m’indiquant que je ne pouvais installer « cvzone » que dans un environnement virtuel !
pour la suite, je ne répond de rien car, dans mon cas, cvzone n’est pas reconnu par python?
à suivre …
Alain

Voici comment j’ ai installé mon environnement virtuel:
création de l’ environnement virtuel:
python3 -m venv .env
si erreur:

sudo apt install python3.11-venv
python3 -m venv .env

Pui activer l’ environnement:

source .env/bin/activate
python3 -m pip install --upgrade pip
python3 -m pip --version

puis dans mon cas installer les paquets:

	python3 -m pip install wifi	
	python3 -m pip install pillow	
	python3 -m pip install rpi-gpio	
	python3 -m pip install smbus	
	python3 -m pip install httpagentparser

et enfin désactiver l’environnement virtuel.
deactivate

Bonjour,

Pouvez-vous passer cette commande pour vérifier la liste des modules installés

$ pip3 freeze

cvzone apparait-il dans la liste ?

A+

Bonjour Jelopo,
au niveau root, cvzone n’apparait pas dans la (longue) liste … mais si je fait pip3 dans l’environnement virtuel, cvzone apparait !
voir copie d’écran jointe:

Quel est votre diagnostic ?
A+
Alain

re-bonjour,
pour information, ci-joint une copie d’écran d’un essai pour essayer d’utiser cvzone
A+
Alain

J’ai installé cvzone dans mon environnement. J’ai juste fait un fichier avec ces quelques lignes :

#!/home/michel/.env/bin/python
# coding=UTF-8
# Information de version		
# ----------------------------------------------------------------------------
import cvzone
import cv2

rendu mon fichier exécutable. Et pas d’erreur, si je supprime la 1ère ligne il ne trouve pas la librairie.
est-ce que tu as essayé en mettant la ligne:
#!/home/alain/desktop/projects/projectsenv/bin/python

hello,
j’ai créé un fichier avec text editor contenant ce que vous aviez indiqué (avec Desktop au lieu de desktop ?) je l’ai rendu exécutable avec chmod +x < nom_de_mon_fichier> et après… je me suis perdu car je suis un « newbe » en Unix !
question: comment un Dummy en Linux comme moi peut-il faire exécuter un programme Python utilisant cvzone en procédant comme vous ?
Par avance merci
Alain

1 « J'aime »

Pour exécuter un script python quand tu l’ as rendu exécutable et que tu as mis en première ligne le non shebang (dans mon cas: #!/home/michel/.env/bin/python) il suffit de taper:
/chemin du script/script
.exemple mon script test qui ce trouve dans le répertoire /home/michel/scripts/py/
démarre en entrant /home/michel/scripts/py/test

Bonjour, je reviens vers vous car je butte vraiment sur un os:
j’ai essayé les scripts comme suggérés … sans succès.
j’ai donc créé un environnement virtuel « non caché » pour ensuite pouvoir exécuter un programme python dedans, comme j’avais l’habitude de procéder par exemple avec PyCharm sous Windows, planches jointes:



…cvzone n’est toujour pas trouvé à l’exécution.
Toute suggestion pour résoudre ce problème est la bienvenue
Cordialement
Alain

Bonjour,
Une chose me choque tu actives un environnement sans l’avoir créé.
python3 -m venv <chemin>/monenv
ensuite essaye de démarrer en ligne de commande, pas dans une IDE.

Bonjour,
l’environnement virtuel avait bien été créé avant cette copie d’écran,
avec python -m venv monenv
on l’observe bien dans la ligne (monenv)alain@raspberrypi:~$ …
ou je fait un upgrade de cvzone … qui confirme que l’installation « is satisfied »
Le problème est pourquoi Python ne prend pas en compte « import cvzone » à l’exécution, alors que c’est OK pour opencv qui pourtant avait été chargé dans le site-packages(from cvzone) !!! (voir la planche no 1)
Alain

Quel est exactement e message d’erreur.
J’ai installé un environnement comme suit:

python3 -m venv scripts/py/env
source scripts/py/env/bin/activate
python3 -m pip install cvzone
deactivate

puis j’ ai créé un fichier script/py/test.py
avec seulement 3 lignes:

 #!/home/michel/scripts/py/env/bin/python
 import cv2
 import cvzone

Je l’ai rendu exécutable avec la commande chmod +x scripts/py/test.py
puis démarré avec la commande: script/py/test.py et pas d’erreur, il trouve bien cvzone.

hello,

si tu lances tonny depuis le menu graphique, il ne doit pas tenir compte de ton environnement virtuel .
si mon hypothèse est correcte la solution est peut être d’ouvrir un console, d’ activer ton environnement virtuel et d’y lancer tonny .

Je pense avoir suivi les conseils de Mik91390 et bof … sans résultat !
Le message d’erreur est celui affiché lors de l’exécution du programme comme montré dans la planche No1, en rouge: No module named ‹ cvzone ›
Question: quelqu’un peut-il exécuter ce petit programme ne comportant que 2 lines de code sans obtenir le meme message d’erreur ?
import cv2
import cvzone

ça me permettrai ensuite de vérifier ou est mon erreur ?
cordialement
Alain

Capture d'écran 2024-04-24 141804
Voila le résultat.

Hello Michel, vous pouvez vérifier sur la copie d’écran ci-dessous que j’arrive au méme résultat que vous… mais lorsque j’exécute un programme Python avec un import CVZONE, j’obtiens un message d’erreur: 'No module name ‹ cvzone ›.
Il serait intéressant que vous me montriez l’exécution de ce méme petit programme de 2 lignes sans message d’erreur, ce qui me permettrai de compendre mon erreur
par avance merci
Alain