me gustaría hacer algo como esto en un archivo de origen, QT.py:¿Cómo se puede seleccionar fácilmente entre PyQt o PySide en tiempo de ejecución?
import sys
import PyQt4
sys.modules["Qt"] = PyQt4
A continuación, importar este archivo en otros ficheros fuente, y utilizar de esta manera:
import QT
from Qt.QtCore import *
Así
puedo cambiar de PyQt4 a PySide en QT.py sin tocar todos los archivos de origen (con una secuencia de comandos sed posiblemente feo) Estos módulos son en su mayoría API compatibile y me gustaría poner a prueba a los dos. ¿Hay una forma fácil de hacer esto? (Debido a las formas que probé no están funcionando)
Tal vez la necesito imp
módulo, pero parece demasiado bajo nivel. actualización
No estoy seguro acerca de agregar pseudo-módulos vacíos al proyecto. Especialmente porque PySide/PyQt contiene muchos más submódulos. –
@Guttalax Dijiste que esto es para probar, ¿verdad? No me gustaría hacer algo tan raro como este en un entorno de producción. Si lo estás haciendo en producción, entonces no "import *".Sin eso, puedes hacer algo tan simple como 'Qt/__ init __. Py' donde' __init __. Py' es 'de PyQt4 import *'. Entonces puede hacer referencia a cosas como 'Qt.QtGui.QWidget()' – Nathan
Bueno, sí, es para probar. Verán, este es un proyecto de hobby mío y no me importan las soluciones un tanto hambrientas. Idealmente, me gustaría proporcionar una manera fácil para que otros cambien entre pyside y pyqt o incluso que el programa use lo que esté disponible. –