Ich habe diese Frage hier angeschaut:
Ist es möglich, PyQt von setuptools Setup zu verlangen .py?
Was ist der richtige Weg, um eine Python-Anwendung zu verteilen, die eine GUI hat und auf PyQt basiert? (Ich verwende PyQt5 und Python3)
Ich lerne immer noch, wie man Dinge verteilt, also weiß ich nicht, ob meine Frage einen Sinn ergibt.
Bearbeiten:
Die Antwort ist korrekt, sudo pip3 install .
hat für meine eigene setup.py -Datei funktioniert, aber offensichtlich enthält pyqt5 das QtWebKitWidgets-Modul nicht und es ist nicht für die Installation in einem separaten Verzeichnis verfügbar Paket in Pip3. So, jetzt denke ich daran, weg von Python vollständig und gehen Sie mit Javascript + Electron als Multiplattform einfach zu Sprache für die Entwicklung zu führen.
In einem Wort yes , solange Sie Ihre Unterstützung auf PyQt5 und Python3 beschränken.
Die in setup.py
angegebenen Anforderungen werden normalerweise durch das Anfordern von Paketen aus dem Python Package Index (PyPi) bereitgestellt. Bis vor kurzem waren diese Pakete nur Quellen, was bedeutet, dass eine Installation, die von PyQt5 abhängig ist, nur auf einem System funktioniert, auf dem es aus der Quelle erstellt werden konnte. Gerade der Aufbau auf Windows erfordert eine Menge Setups, und damit wäre Ihre Anwendung für jeden, der das nicht kann oder will, unerreichbar.
Hinweis: Soweit mir bekannt ist, war es nie wirklich möglich, aus der Quelle über PyPi zu bauen. Der Standardansatz bestand darin, die Quelle / Binärdateien von der Riverbank-Software herunterzuladen und von dort zu installieren / zu installieren.
Dieses Problem wurde durch die Einführung von Python Wheels gelöst, die eine Möglichkeit bieten, C-Erweiterungspakete zu installieren, ohne dass sie auf dem Zielsystem kompiliert werden müssen . Dies wird durch plattformspezifische .whl
-Dateien erreicht. Räder für PyQt5 auf Python3 sind auf PyPi für verschiedene Plattformen verfügbar, einschließlich MacOS X, Linux (beliebig), Win32 und Win64 die die meisten Anwendungen abdecken sollte.
Dies ist zum Beispiel die Ausgabe, wenn PyQt5 auf Python3 auf einem Mac installiert wird:
%Vor% Um PyQt5 als eine Abhängigkeit von Ihrem eigenen Paket festzulegen, geben Sie es einfach als normal in Ihrem setup.py
z. install_requires=['PyQt5']
Hier haben Sie ein paar Optionen. Das bedeutet, dass jeder, der Python3 installiert hat, jetzt Ihre Anwendung mit pip
installieren kann. Dies setzt jedoch voraus, dass der Endbenutzer über Python verfügt und weiß, was pip
ist. Wenn Sie Ihre Anwendung mit einem Windows-Installationsprogramm, einem MacOSX-Paket oder einem Linux-Paket verteilen möchten, müssen Sie eines der für diesen Zweck vorgesehenen Tools verwenden.
.whl
-Dateien, die dies in vielen Fällen lösen wird. Bei weitem am einfachsten, wenn Sie nur auf Windows ausgerichtet sind. .app
bundles aus der Definition in setup.py
. Ein großer Vorteil sind die Custom-Handler, mit denen Sie die Verpackung von problematischen Paketen anpassen können. Wenn Sie nur auf MacOSX abzielen, ist dies wahrscheinlich Ihre beste Option. setup.py
-Definition. Hinweis: Es ist möglich, ein sehr komplexes setup.py
zu schreiben, das es erlaubt, mit einem oder mehreren Werkzeugen auf verschiedenen Plattformen zu bauen, aber ich habe normalerweise getrennte Konfigurationen (zB setup-py2app.py
) zur besseren Übersicht gespeichert .
Tags und Links python python-3.x setup.py pyqt pyqt5