Red de conocimiento informático - Material del sitio web - Cómo instalar PyQt4 en sistemas Apple

Cómo instalar PyQt4 en sistemas Apple

Antes de instalar PtQt4, debe preparar:

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

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

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'

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 '$'