Résolue

PySide6

# Résolution d'erreurs # Interface graphique # PySide

Hello

j'ai un petit souci lorsque j'exécute le code ci-dessous:
J'ai déjé pour la 3ème fois tout supprimé et recommencé.
Ce qui est bizarre c'est que la première fois ça s'éxécute correctement et ensuite j'a l'erreur suivante:

salvatore@AirdeSalvatore QtApp % source /Users/salvatore/Documents/PySide6_formation/QtApp/.env/bin/activate
(.env) salvatore@AirdeSalvatore QtApp % /Users/salvatore/Documents/PySide6_formation/QtApp/.env/bin/python /Users/salvatore/D
ocuments/PySide6_formation/QtApp/main.py
qt.qpa.plugin: Could not find the Qt platform plugin "cocoa" in ""
This application failed to start because no Qt platform plugin could be initialized. Reinstalling the application may fix this problem.

zsh: abort /Users/salvatore/Documents/PySide6_formation/QtApp/.env/bin/python

voici mon code:

from PySide6.QtWidgets import QApplication, QTabWidget

class MainWindow(QTabWidget):
    def __init__(self):
        super().__init__()

        self.setText("hello world")

app = QApplication()
window = MainWindow()
window.show()
app.exec()

Salut Salvatore !

Tu es sur Mac OS ou Linux ?

Tu as essayé de juste désinstaller et réinstaller PySide6 ?

Salut Thibault

Je suis sur macOS. Oui, j'ai recommencé tout le processus trois fois de suite en supprimant le projet et en utilisant également les commandes 'pip uninstall PySide6', 'pip uninstall PySide6-Addons' et 'pip uninstall PySide6-Essentials'. Le code fonctionne correctement lors de la première exécution, mais dès la deuxième exécution, j'obtiens une erreur.

Thibault houdon

Mentor

Salut Salvatore,

Après quelques recherches, il semble qu'il faille installer ces librairies :

pip3 install opencv-python-headless

Tiré de ce fil :
https://stackoverflow.com/a/60276314

Commence par essayer ça et dis nous si ça a réglé le problème :)

Merci Thibault, on a déja essayé avec Gab ça ne fonctionne toujours pas:

(.env) salvatore@AirdeSalvatore QtApp % pip list
Package Version

<hr/>

numpy 1.26.1
opencv-python-headless 4.8.1.78
pip 23.3.1
PySide6 6.6.0
PySide6-Addons 6.6.0
PySide6-Essentials 6.6.0
shiboken6 6.6.0

j'ai toujours cette erreur:

qt.qpa.plugin: Could not find the Qt platform plugin "cocoa" in ""
This application failed to start because no Qt platform plugin could be initialized. Reinstalling the application may fix this problem.

zsh: abort /Users/salvatore/Documents/PySide_Formation/QtApp/.env/bin/python

J'ai tout supprimé, supprimé Python3.9 et installé la version 3.12 de Python mais rien n'y fait.

Saluty Salvatore c'est un mac type M1/M2 ou processeur intel ?

Hello Thibault, c'est un MacBook Air M2.

Thibault houdon

Mentor

Quand tu avais l'erreur, tu utilisais la version 3.9 ou 3.12 de Python ?

3.12 est encore super récente donc je te déconseillerais de l'utiliser, PySide met toujours un peu de temps pour être sûr que tout soit compatible. Je te conseillerais de partir plutôt sur une version entre 3.9 et 3.11.

J'ai tenté l'installation avec Python 3.9, puis avec Python 3.12, mais sans succès. J'ai également achevé la réinitialisation de mon Mac, mais cela n'a malheureusement pas résolu le problème. Je crois que je vais pas insister avec PySide6

j'ai essayer avec la version 3.11.4
ça fonctionne 2 ou 3 fois et pareil j'ai à nouveau l'erreur.

from PySide6.QtWidgets import QApplication, QWidget

class MainWindow(QWidget):
    def __init__(self):
        super().__init__()

        self.setWindowTitle("My App")


app = QApplication()
main_window = MainWindow()
main_window.show()
app.exec()

qt.qpa.plugin: Could not find the Qt platform plugin "cocoa" in ""
This application failed to start because no Qt platform plugin could be initialized. Reinstalling the application may fix this problem.

zsh: abort /Users/salva/Documents/PySide_Formation/QtApp/.env/bin/python

Salut Thibault

Du coup pas de solution à mon problème ?
Tu penses que c'est un problème lié au processeur M2 ?

Thibault houdon

Mentor

Salut Salvatore !

J'étais justement en train de te répondre, je trouve ça vraiment surprenant que ça fonctionne 1 fois ou 2 puis que tu aies ce problème.

Je ne pense pas pour le M2 car je viens de tester avec Python 3.9 et PySide6 sur mon Mac Mini M2 et ça fonctionne (j'ai lancé l'application 5 fois de suite sans erreur).

Lancement application PySide6

En cherchant sur les forums je suis tombé sur certaines personnes qui ont résolu le problème en définissant cette variable d'environnement :

QT_QPA_PLATFORM_PLUGIN_PATH

Et en la faisant pointer vers le répertoire des plugins Qt.

Pour trouver les répertoires, dans un interpréteur Python tu lances :

from PySide6.QtCore import QCoreApplication
print(QCoreApplication.libraryPaths())

De mon côté ça sort ce chemin :
"/Library/Frameworks/Python.framework/Versions/3.9/lib/python3.9/site-packages/PySide6/Qt/plugins"

Tu peux dans un terminal définir la variable avec EXPORT. Dans mon cas :

$ export QT_QPA_PLATFORM_PLUGIN_PATH="/Library/Frameworks/Python.framework/Versions/3.9/lib/python3.9/site-packages/PySide6/Qt/plugins"
$ python3.9 Documents/main.py

Super merci de ton retour Thibault, je vais essayer plus tard sur mon environnement.

A ce soir pour le mentorat, j'ai vu que c'est toi qui animes la séance de ce soir, je te dirait ce qu'il en est.

Bonne journée
Salva

Salut Thibault

J'ai réinitialisé mon Mac pour la deuxième fois en 3 jours, on dirait que ça fonctionne. Youpi!
J'ai la version de Python 3.9.6 installée par défaut, au cas où.

Merci de ta patience.
Bonne soirée,
Salva

Salut Thibault,

Je reviens vers toi au sujet de PySide6.
J'ai à nouveau le souci, je n'ai rien modifié, juste redémarré mon Mac.
Comme dirait Gab, c'est vraiment mystique.

Je ne sais plus quoi faire :(
Merci d'avance de ton aide.
Salva

Thibault houdon

Mentor

Salut Salvatore,

C'est vraiment bizarre effectivement que ça fonctionne parfois et qu'après ça bug..

Un dernier recours possible serait d'essayer avec PySide2 qui reste très proche de PySide6. Essaie pour voir si ça fonctionne mieux avec cette version et tu peux l'utiliser sans trop de problème juste en changeant les imports.

Bonjour Thibault,

Enfin j'ai réussi à faire fonctionner PySide6. Voici les étapes que j'ai suivies :

J'ai installé deux bibliothèques : opencv-contrib-python et opencv-python.
Ensuite, j'ai réinstallé Qt en utilisant la commande brew reinstall qt.
J'ai également renommé mon environnement virtuel de ".env" à "env".
Étonnamment, tout semble bien fonctionner maintenant. Je ne peux pas encore dire pour combien de temps, mais après plusieurs essais, cela semble prometteur.

Bon week-end
Salva

Inscris-toi

(c'est gratuit !)

Inscris-toi

Tu dois créer un compte pour participer aux discussions.

Créer un compte

Rechercher sur le site

Formulaire de contact

Inscris-toi à Docstring

Pour commencer ton apprentissage.

Tu as déjà un compte ? Connecte-toi.