Wie zu installieren PyQt5 auf eine neue virtualenv und arbeiten auf einem IDLE
Ich installiert PyQt5 Global auf meinem win7-system (python 3.3), mit dem installer von der offiziellen Ufer website.
Dann erstellte ich eine neue –no-site-packages
virtualenv, wo die einzigen Dinge, die ich sehen, aufgeführt nach der Eingabe pip list
sind pip (1.4) und setuptools (0.9.7).
Das problem jetzt ist allerdings, dass ich installieren müssen, gibt es die komplette PyQt5 zu, und dies scheint unmöglich zu sein, mit der pip-tool.
Beide pip install sip
und pip install PyQt5
innerhalb der virtuellen Umgebung sind Fehler zurückgeben.
Kann jemand eine "how-to" - Anleitung, was genau muss ich tun?
Möchte ich auch in der Lage sein, mit zu arbeiten, dass PyQt5 (der neue virtualenv) in einer im LEERLAUF, also
Kopiert habe ich den tcl Ordner aus der globalen installation von meinem Python der Lage meiner virtuellen Umgebung und erstellt eine Verknüpfung targeting: {location of my virtual enviroment}\Scripts\pythonw.exe C:\Python33\Lib\idlelib\idle.pyw
so konnte ich öffnen, die virtualenv im LEERLAUF und nicht die Globale. (Hoffe ich habe nichts falsch da... Korrektur vielleicht bitte.)
are returning errors
Glaubst du nicht, uns mitzuteilen, welche Fehler genau helfen würde, Ihr problem zu lösen?- Ich bin nicht der OP, aber ich bin immer ein Fehler
FileNotFoundError: [Errno 2] No such file or directory: '/home/naught101/.virtualenvs/virtualenv-3/build/sip/setup.py'
beim laufenpip install sip
. Es gibt keine anderen Beschwerden.
Du musst angemeldet sein, um einen Kommentar abzugeben.
Wenn die Fehler, die Sie sich beziehen sind:
Could not find any downloads that satisfy the requirement [pyqt5|sip]
und
No distributions at all found for [pyqt5|sip]
Dann diese Antwort sollte Aufschluss über diese. Grundsätzlich PyPI ist nur mit link zur homepage und/oder die Quelle -- nicht in einem herunterladbaren Paket oder ei. Hier sind die links zu PyQt5 und SIP PyPI Seiten. Ich weiß, es scheint seltsam, dass ein Paket-manager würde nicht bieten Pakete, aber das ist, wie es ist.
Müssen Sie herunterladen, kompilieren und installieren sip und pyqt5 von der Quelle, in deinem virtualenv. Ich wünschte, ich könnte geben Sie details an, aber ich bin momentan auf der Arbeit durch diese selbst.
pip
die Rad-Dateien stehen zum download aus dem PyQt5 "downloads" - Seite.Wie ich meine PyQt5, Python33 Windows7x64 innerhalb einer virtualenv arbeiten:
Erstens, sicherzustellen, dass Sie angepasst haben, die 64 oder 32-bit-Versionen von allem. Ich entwickle auf einem 64-bit-Plattform und bin mit 64-bit-Versionen. Ich habe nicht vollständig getestet werden kann dies mit 32 bit. Bitte Lesen Sie gründlich.
Gewährleisten PyQt5 arbeitet auf der Basis Python33 installieren:
Erstellen Sie ein Haupt-Fenster, und starten Sie es.
Wenn Sie Tests mit PyQt4-code, ein paar Klassen wurden ausgelagert um. (Innerhalb QtGui und QtWidgets zum Beispiel)
von PyQt5 import QtGui, QtWidgets, QtCore
Wenn Sie diese Fehlermeldung erhalten "..konnte nicht gestartet werden, konnte nicht finden, oder laden Sie die Qt-Plattform-plugin "windows." (oder ähnliches), MÜSSEN SIE AKTUALISIEREN Sie Ihre DirectX. Tun Sie dies durch Microsoft.
Einmal sind Sie ganz sicher, PyQt5 in Windows, dann weiter.
Gewährleisten PyQt5 importiert werden kann aus Ihrer virtualenv. Sie müssen möglicherweise zu manipulieren Pfade je nachdem, welche IDE Sie verwenden. Führen Sie einen import in Ihr virtualenv
von PyQt5 import QtCore, QtGui, QtWidgets
Versuchen, die gleiche Anwendung wieder aus dem inneren dieses virtualenv
OH NEIN! Ein weiterer Fehler mit den dlls! Was gibt? Die Pfade zu den QT-dll-Bibliotheken sind falsch innerhalb des virtualenv. Passiert es auch wenn Sie sagen, PyQt5 installiert direkt auf Ihr virtualenv. Sie MÜSSEN die Pfade zu libraryPaths vor der Erstellung des QApplication-Objekt. Hier ist eine Lösung (Ersetzen venv mit Ihre virtualenv Pfad):
Nun der code, der ausgeführt werden soll von allen in Ihrem virtualenv. Sie können löschen Sie die PyQt5-Verzeichnis von Ihrer Basis installieren, oder verschieben Sie es an einem anderen Ort, wenn Sie es brauchen in der Zukunft.
Es ist wahrscheinlich ein Weg, um boilerplate der Pfad in einen relativen Weg, aber damit könnte ein Problem mit der cx-freeze. Apropos.
Jetzt sind Sie alle getan, und Sie gehen zu cx-freeze Ihr PyQt5 app in eine schöne exe. Sie gehen, um es auszuführen und OH NEIN! mehrere dll-Problemen.
Können Sie manuell kopieren libEGL.dll von site-packages/PyQt5 zum root-Ordner der Anwendung, oder fügen Sie folgende Zeilen in Ihre setup.py Datei cx-freeze:
Vorausgesetzt, Sie haben PyQt5 installiert ist Global, es ist ein Weg, können Sie Ihren virtualenv Zugang ohne Verwendung
--system-site-packages
. Ein Paket namens vext macht es möglich. Es funktioniert auch mit anderen Paketen als gut, aber in diesem Fall werden wir nur einrichten, die PyQt5 unterstützen.Führen Sie den folgenden Befehl in Ihrem virtualenv und Sie sollten gut zu gehen:
Überprüfen des status führen
vext -l
. Sie sollten etwas sehen wie folgt aus:Oder führen
vext -c pyqt5.vext
. Sie sollten etwas sehen wie folgt aus:Alternativ können Sie auch nur versuchen, zu importieren PyQt5, z.B.
python -c 'import PyQt5'
.Ich Stand vor dem gleichen Problem, Installation von PyQt5 und SIP. Die Lösung zur Behebung dieses Problems für PyQt4 als angegeben auf Ist es möglich, PyQt4/PySide-Pakete auf einem Virtualenv sandbox? für mich gearbeitet.
Ich manuell erstellt symlinks zu den PyQt5 und sip.also von innerhalb des virtualenv/site-packages-Verzeichnis. Eine hässliche Lösung, aber bekommt Dinge zu arbeiten.
Anon ist die Lösung zum hinzufügen einer Qt-libraryPath für mich gearbeitet. Ich bin mit Anaconda3 auf Windows. Aber ich habe eine alternative gefunden.
Kopieren Sie die Datei
…\Anaconda3\qt.conf
zu denScripts
Ordner in der virtuellen Umgebung. Jetzt brauche ich nicht zu ändern, die Python-code.Den conf-Datei zu haben scheint, und wurde von
…\Anaconda3\Scripts\.qt-post-link.bat
.