19
votes

Installez PyQt5 5.14.1 sur Linux

Python 3.6.9 (default, Nov  7 2019, 10:44:02) 
[GCC 8.3.0] on linux
Type "help", "copyright", "credits" or "license" for more information.
>>> import PyQt5
>>> import PyQt5.QtCore
Traceback (most recent call last):
  File "<stdin>", line 1, in <module>
ModuleNotFoundError: No module named 'PyQt5.sip'
>>> 

3 commentaires

élémentaire OS 5.1 Hera


Mettez à jour la question, j'obtiens toujours la même erreur


J'ai également supprimé tous les packages PYQT de /usr/local/lib/python3.6/dist-packages/ , puis installé pyqt5 pyqtchart pyqt5.sip sip mais toujours pour l' import PyQt5.QtCore erreur est ModuleNotFoundError: No module named 'PyQt5.sip'


7 Réponses :


18
votes

Il semble qu'il y ait un bug dans la dernière version de PyQt5 vers pypi, j'ai donc installé une version 5.14:

python3 main.py

Copiez l'exemple de ma réponse précédente dans le main.py, puis exécutez:

sudo apt-get update && \
    sudo apt-get autoclean

sudo apt-get update && sudo apt-get install \
    -y --no-install-recommends \
    python3-pip \
    python3-setuptools

sudo python3 -m pip install pyqt5==5.14 pyqtchart==5.14

Je vous recommande de rechercher les dossiers et fichiers générés par vos tentatives infructueuses et de les supprimer.

Pour mon test, j'ai utilisé le Dockerfile suivant


1 commentaires

Pourquoi avez-vous utilisé sudo pour exécuter pytho3 -m pip?



44
votes

Je pense que les problèmes d' pip install initiale de pip install étaient dus au passage de PyQt5 à la balise de plate-forme manylinux2014 pour la dernière version (voir les roues sur PyPI pour 5.14.1 vs 5.14.0 ). Seules les versions de pip> = 19.3 reconnaissent cette balise de plate-forme ( ref ), donc si vous avez une ancienne version de pip, il essaiera plutôt de l'installer à partir des sources.

Deux options simples (pour éviter l'installation de la source):

  • Mettre à jour pip vers la dernière version via pip3 install --upgrade pip
  • Installez la version précédente, qui utilisait manylinux1 ( pip3 install pyqt5==5.14.0 )

0 commentaires

8
votes

J'ai également eu le même problème lors de l'installation de PyQt5 (en essayant d'installer ReText ).

Sur Ubuntu 18.04 avec Python 3.6.9 et Pip 9.0.1 , j'ai pu installer PyQt5 avec ces étapes:

python3 -m venv env
source env/bin/activate
pip3 install pyqt5 --only-binary pyqt5

C'était suffisant pour que pip télécharge la roue binaire PyQt5-5.14.0-5.14.0-cp35.cp36.cp37.cp38-abi3-manylinux1_x86_64.whl (qui n'a pas besoin / utilise le setup.py ) au lieu de construire à partir de l'archive tar source.

Selon https://pypi.org/project/PyQt5/#files , il existe également d'autres roues binaires, donc j'espère que cela couvrira la plupart des besoins de la plate-forme.


0 commentaires

2
votes

Parfois, il est très difficile d'installer PyQt5 sur la distribution Debian ou Ubuntu Linux. J'ai pu l'installer pour python3 sur mon système exécutant Debian 10 buster (stable).
Je l'ai installé avec le gestionnaire de paquets apt.

sudo apt-get update 
sudo apt-get install python3-pyqt5


1 commentaires

La seule option qui a fonctionné pour moi, toutes les installations pip des versions 5.14.x et 5.15 ont échoué en raison d'erreurs de syntaxe dans les exigences ou de fichiers obscurs manquants.



0
votes

Pour ceux qui n'ont pas désespérément besoin de 5.14, 5.12 peut être une solution. Cela a fonctionné pour moi:

sudo python3 -m pip install pyqt5==5.12 pyqtchart==5.12


0 commentaires

0
votes

Comme la question l'a montré, vous téléchargez tar.zip fichier tar.zip non pas wheel . L'installation de QT avec pip n'est autorisée qu'avec wheel . Choisissez la version qui a le fichier de roue dans la page d'accueil de PyPI et correspond à votre version de Python.


0 commentaires

1
votes

J'ai aussi ce problème. C'est parce que votre pip est sur une version plus ancienne et vous devez le mettre à jour en utilisant les commandes ci-dessous:

pip3 install setuptools wheel
pip3 install --upgrade pip
pip3 install --user pyqt5


0 commentaires