Cómo instalar PyQt4 en sistemas Apple
Xcode (Xcode viene con 10.6.1)
Qt-Yo uso Qt-MAC-Cocoa-open source-4. daño.
SIP-Yo uso SIP-4.12.1.tar.gz
pyqt 4-Yo uso PyQt-mac-gpl-snapshot-4.8.4.tar.gz.
Cree una carpeta pyqt en el directorio raíz del disco duro y agregue sip-4.12.1.tar.gz y PyQt-mac-gpl-snapshot-4.8.4.tar.gz.
Introdúcelo y descomprímelo.
1. Instale qt primero, que se instala de forma predeterminada. La mayoría de las personas no tendrán problemas con este paso, así que sáltelo.
2. A continuación, abra una terminal (en Aplicaciones/Utilidades/) y escriba en la terminal: export versioner_python_preferred_32_bit=yes.
3.
Utilice el comando "cd path" para configurar el directorio actual en sip-4.12.1, como CD/pyqt/SIP-4.12.1/, y luego configure) para reconstruir SIP en 32bit se ejecuta en el terminal.
python configure.py - arch i386
Compile después de completar la configuración y ejecute make clean make en la terminal.
Compile e instale, y ejecute sudo en la terminal para instalar.
No hay errores durante este proceso, lo que significa que la instalación fue exitosa.
Compile e instale PyQt4, el proceso es el mismo que el anterior. Construyendo PyQt4 con 32 bits
Utilice el comando "cd path" en la terminal para configurar el directorio actual en PyQt-mac-gpl-snapshot-4.8.4, como se muestra en la siguiente figura.
Cita CD/users/schi/pyqt/pyqt-MAC-GPL-snapshot-4.8.4.
Luego configure, ejecute y haga referencia a Python configure py-use-arch i386 en la terminal.
Mientras configura, encontrará referencias que determinan el diseño de su instalación Qt. ...
Esta es la versión GPL de PyQt 4.6 (con licencia pública GNU
Licencia) sobre Python 2.6.2.
Escriba "2" para ver la licencia GPL v2.
Escriba "3" para ver la licencia GPL v3.
Escriba "Sí" para aceptar los términos de la licencia.
Escriba "No" para rechazar los términos de la licencia.
¿Aceptas los términos de la licencia?
Simplemente escribe sí y presiona enter.
Una vez completada la configuración, se compilará y ejecutará en la terminal.
Cotización Fabricación Fabricación limpia
La compilación lleva tiempo, tenga paciencia.
Una vez completada la compilación, instálelo y ejecútelo en la terminal.
Cotizar fabricación e instalación de sudo
No hay errores durante este proceso, es decir, la instalación es exitosa.
También puedes importar módulos PyQt4 cuando estés libre. Una importación exitosa significa una instalación exitosa.
Código Python
Importar QtCore y QtGui desde PyQt4
Analicemos los problemas que se pueden encontrar durante el proceso de instalación:
1 El problema es el siguiente
#############
ld: Advertencia: En /Library/Frameworks/Python.framework/Python, Requerido. falta la arquitectura x86_64 en el archivo
Símbolo no definido:
" _Py_Initialize ", citado de:
PyCustomWidgets::PyCustomWidgets en pluginloader.o (QObject *)
" _PyLong_AsVoidPtr ", citado de:
PyCustomWidgets::PyCustomWidgets(QObject *) en pluginloader.o
" _PyErr_Print ", citado desde:
PyCustomWidgets::getModuleAttr(char const*, char const *) en pluginloader.o
PyCustomWidgets::getModuleAttr(char const*, char const) en pluginloader.o *)
PyCustomWidgets::PyCustomWidgets(QObject *) en pluginloader.o
PyCustomWidgets::PyCustomWidgets(QObject *) en pluginloader.o
pluginloader PyCustomWidgets::PyCustomWidgets(QObject *) en .o
PyCustomWidgets::PyCustomWidgets(QObject *) en pluginloader.o
" _PyString_FromString ", citado de:
PyCustomWidgets::PyCustomWidgets(QObject * ) en pluginloader.o
" _PyType_IsSubtype ", citado de:
PyCustomWidgets::PyCustomWidgets(QObject *) en pluginloader.o
" _PyModule_GetDict ", citado de:
PyCustomWidgets::PyCustomWidgets(QObject *) en pluginloader.o
" _PyObject_CallObject ", citado de:
p>
PyCustomWidgets:: PyCustomWidgets(QObject *) en pluginloader.o
" _PyObject_CallFunctionObjArgs", citado de:
PyCustomWidgets::PyCustomWidgets(QObject *)
" _PyList_Append ", citado de:
PyCustomWidgets::PyCustomWidgets(QObject *) en pluginloader.o
" _Py_IsInitialized ", citado de:
pluginl
PyCustomWidgets::PyCustomWidgets(QObject *) en loader.o
" _PyDict_Next ", citado de:
PyCustomWidgets::PyCustomWidgets(QObject *) en pluginloader.o
" _PyImport_ImportModule ", citado de:
PyCustomWidgets en pluginloader.o::getModuleAttr(char const*, char const *)
PyCustomWidgets en pluginloader.o: :PyCustomWidgets(QObject *)
" _PyObject_GetAttrString ", citado de:
PyCustomWidgets::getModuleAttr(char const*, char const *)
ld: símbolo no encontrado p>
Conjunto 2: ld devolvió 1 estado de salida
make[1]: * * *[libpythonplugin dylib] Error 1
make: *** [todos] Error 2
El motivo de este problema es: qt se compila en una Mac de 32 bits, mientras que pyqt se compila en una computadora de 64 bits de forma predeterminada. Por lo tanto, debemos crear un entorno de compilación al compilar: i386 o x86_64.
Consulte la siguiente información:
El problema es que la biblioteca Qt es de 32 bits y Python está construido con PyQt4 de 64 bits de forma predeterminada. El problema ocurre cuando intenta vincular un archivo objeto de 64 bits con una biblioteca Qt de 32 bits. Para solucionar este problema, debemos forzar a Python a compilar PyQt4 en 32 bits, y también debemos reconstruir SIP en modo de 32 bits. Si está utilizando la versión de Python que viene con Mac OS (2.5 para Snow Leopard), asegúrese de que se esté ejecutando en modo de 32 bits emitiendo el siguiente comando
2. Las preguntas son las siguientes:
& gt& gt& gtImportar QtGui desde PyQt4
Rastreo (última llamada):
Archivo "<stdin>, línea 1, en <module& gt
error de importación: dlopen(/Library/Python/2.6/site-packages/pyqt 4/Qt GUI . so, 2): Símbolo no encontrado: _ _ Zn 13 qpytextobject 16 staticmetaobjecte
Citado de: /Library/Python/2.6/site-packages/pyqt 4/Qt GUI .so
Debe ser: espacio de nombres plano
En /Library/Python/2.6/site-packages /pyqt 4/Qt GUI.
Este problema es que todos los paquetes se instalan sin problemas, pero este problema siempre ocurre al importar QtGui u otros paquetes. El motivo de este problema es pyqt. error, PyQt-mac-gpl-snapshot-4.8.3, y el próximo paquete que se lanzará se puede descargar como lo descargué: PyQt-mac-gpl-snapshot-4.8.4.
Permítanme presentarles el código fuente de Python que escribí para instalar automáticamente estos programas:
#!/usr/bin/env python
"" "
Instalador automatizado para Python 2.6 (versión final)
Este instalador puede manejar cualquier
versión anterior de Python.
Nota: este archivo *debe* copiarse en
//nssgsvr/tools/pyInstall_OSX al modificar
"""
Importar sistema operativo
Importar sistema
Importar re
Importar habilidades
Importar plataforma
Importar archivo de destino
#Constant p>
PYTHON_PKGS = { "dmg file":" PYTHON-2.6.1-ma cosx 2008-12-06.dmg",
"mpkgList": ["MacPython. mpkg"] }
# WXPYTHON _ PKGS = { " archivo dmg ": " WXPYTHON 2.8-OS x-unicode-2 . >
# " mpkg list ":[" wxpython 2.8-OS x-unicode-universal-py 2.6 . pkg "]}
#Angelia
XCODE_PKGS = {"dmgFile ": Ninguno, "mpkgList": ["Xcode.mpkg"]}
QT_PKGS = { "archivo dmg":" QT-MAC-cocoa-open source-4 2 .
" mpkgList": ["Qt.mpkg"] }
INSTALACIÓN_ DE TERCEROS = ["sip-4.12.1", "PyQt-mac-gpl-snapshot- 4.8.4","Pyro-3.9.1","pyserial-2.4"]
#Constantes de entorno
Archivo de entorno TCSH = '/etc/csh.login' p>
BASH_ENV_FILE = '/etc/profile '
script_root_environment = "test_script_root"
Taji Special_VER = "2.6 "
IS_POSIX = (os. nombre == 'posix ')
IS_MAC = (sys. version. find(' Apple ')! = -1)
IS_OSX = (IS_MAC e IS_POSIX)
IS_OSX_Leopard = (IS_OSX y platform.mac_ver()[0].startswith('10.5 '))
IS_OSX_SnowLeopard = (IS_OSX y plataforma.mac_ver()[0].
comienza con ('10.6 '))
# constantes NSSGSVR
Mountpoint = "/volume/test"
HOSTSERVER = " nssgsvr . global . avid ww . com " #Servidor que contiene scripts SQA
SHARE = "TEST" #NSSGSVR recurso compartido que contiene el directorio de scripts de Python
USER = "qatest "
PASSWD = " Cmqat /$/$/$" #Escape de la barra diagonal requerida para el carácter especial '$'