Desarrollo ZYNQ-Linux (ocho) Instalación de compilación cruzada del código fuente de Python y uso de la instalación de compilación cruzada de la biblioteca Numpy

  • Compilación cruzada del código fuente de Python

Para la plataforma zynq, el formato del archivo de biblioteca compilado directamente por la placa zynq es un tipo de punto flotante duro, y cuando se hace referencia al archivo de biblioteca en eclipse , necesita un tipo de punto flotante suave, por lo que el archivo de biblioteca compilado directamente por La placa de desarrollo de la plataforma zynq es Si no se puede realizar una compilación cruzada y usarse en eclipse , generará un error indicando que el formato VFP es incorrecto. Hay dos formas de resolver este problema: una es compilar de forma cruzada el código fuente de la biblioteca en la máquina virtual a través de una herramienta de compilación cruzada, de modo que el archivo de la biblioteca compilada sea un tipo de punto flotante suave y la otra es compilar en el tablero, modifique las opciones de compilación y coloque La compilación de punto flotante duro se cambia a compilación de punto flotante suave. Para el segundo método, el Makefile de algunos códigos fuente de biblioteca no admite la compilación de punto flotante suave y duro, y puede solo se puede compilar de forma cruzada en una máquina virtual. Al mismo tiempo, no todas las placas de plataforma están compiladas con punto flotante duro de forma predeterminada. Por ejemplo, los archivos de biblioteca compilados por la placa de plataforma LS2088 se pueden llamar directamente en eclipse de forma predeterminada y no se producirán errores de formato VFP .

Antes de realizar una compilación cruzada del código fuente de Python , es necesario compilar el código fuente para la versión para PC , es decir, compilar para la plataforma X86 .

Proceso de compilación de la versión para PC :

  1. Coloque el paquete comprimido del código fuente en cualquier ruta y descomprima el código fuente: tar -xvf Python-3.4.0.tgz
  2. Ingrese al directorio del código fuente: cd Python-3.4.0/
  3. Ejecute configure para configurar el Makefile :

./configure --prefix=/home/daisy/python/python3.4pc

--prefix= va seguido de la ruta donde se instalará la versión para PC de Python

Aparece la siguiente interfaz, lo que demuestra que el Makefile se generó correctamente

  1. Compile el código fuente y ejecute: make

La siguiente interfaz parece demostrar que la compilación pasó

  1. Para instalar la versión para PC de Python, ejecute: make install

Proceso de compilación cruzada de versiones ARM :

  1. Ingrese los siguientes comandos en secuencia en la consola:

echo ac_cv_file__dev_ptmx=yes > config.sitio

echo ac_cv_file__dev_ptc=yes >> config.sitio

exportar CONFIG_SITE=config.site

exportar CXX=arm-xilinx-linux-gnueabi-g++

exportar CC=arm-xilinx-linux-gnueabi-gcc

  1. Ejecute configure para configurar el Makefile :

./configure --prefix=/home/daisy/python/python34 --host=arm-xilinx-linux-gnueabi --build=x86_64-pc-linux-gnu --enable-shared --disable-ipv6

--prefix= va seguido de la ruta donde se instalará la versión ARM de Python

--host= es la plataforma de destino

--build= es la plataforma compilada actual

--enable-shared es para generar una biblioteca dinámica, --disable-shared es para generar una biblioteca estática

Aparece la siguiente interfaz, lo que demuestra que el Makefile se generó correctamente

  1. Para borrar los archivos compilados por la versión para PC, ejecute: make clean
  2. Compile el código fuente y ejecute: make

La siguiente interfaz parece demostrar que la compilación pasó

  1. Para instalar la versión ARM de Python, ejecute: make install

Para la versión 3.4.0, aparecerá el siguiente error después de la instalación, principalmente porque la versión 3.4 no tiene pip, y si la versión superior viene con una herramienta pip, no se informará ningún error y se debe ignorar el informe de error.

  1. Una vez que la compilación sea exitosa, aparecerán las siguientes cuatro carpetas en el directorio de instalación:

bin: programa ejecutable en Python

incluir: archivo de encabezado de función de interfaz de Python

lib: biblioteca de funciones de interfaz de Python (.a y .so)

compartir: no se utiliza para compilación cruzada

Hasta ahora, se han compilado los archivos necesarios para hacer referencia a las funciones de la interfaz de Python en el código.

  • Instalar la biblioteca numpy

Para la biblioteca numpy utilizada para la compilación cruzada, solo se necesita el archivo .h en la carpeta numpy, por lo que no es necesario realizar una compilación cruzada de la biblioteca numpy llamada en eclipse. Copie usr/lib/python3/dist-packages/ carpeta numpy/core/include/numpy y colóquela en la máquina virtual para su uso. También puede instalar manualmente la biblioteca numpy en la plataforma X86 o la biblioteca numpy en la plataforma ARM, y luego instalar Python correspondiente al directorio

La carpeta lib/python3.4/site-packages/numpy/core/include/numpy también se puede copiar y usar, pero el programa ejecutable compilado por C++ debe tener la biblioteca numpy instalada en el estribo o plataforma y se puede cargar. y se usa, porque el programa de compilación cruzada depende de la biblioteca numerosa en la plataforma en ejecución. A continuación se explica primero cómo instalar la biblioteca numpy en la plataforma X86.

Instale la biblioteca numpy en la plataforma X86 :

Antes de instalar la biblioteca numpy, primero debe instalar Python, y los pasos son los mismos que el proceso de compilación de la versión para PC en la primera parte anterior.

  1. Descomprima el código fuente numpy: tar –xvf numpy-1.8.1.tar.gz
  2. Ingrese la ruta de origen de numpy: cd numpy-1.8.1/
  3. Instale la biblioteca numpy a través de Python y ejecute el comando:

../python3.4pc/bin/python3.4 setup.py instalar

Entre ellos, ../python3.4pc/bin/python3.4 es la ruta de instalación de la versión para PC de Python. Debe llamar al programa ejecutable de Python para instalar la biblioteca numpy. Una vez que la instalación sea exitosa, estará en the lib/python3.4pc/site: genera numerosos contenidos relacionados con la biblioteca en paquetes/.

  1. Verifique que la instalación de la biblioteca numpy se haya realizado correctamente:

Vaya a la carpeta bin del directorio de instalación de Python: cd python3.4pc/bin

Inicie el programa Python: ./python3.4

Cargue la biblioteca numpy: importe numpy

Si aparece el contenido que se muestra en la figura anterior y no se informa ningún error, demuestra que se ha cargado la biblioteca numpy.

Cabe señalar que la versión de Python debe corresponder a la versión de numpy. Si la versión no corresponde, la biblioteca numpy no se puede utilizar. Hay una descripción correspondiente de la biblioteca numpy en el sitio web oficial. Por ejemplo, si es escrito con cp34 , puede corresponder a la versión Python3.4. Si la versión de Python y el dispositivo están conectados a Internet, puede usar directamente la herramienta pip para instalar la biblioteca numpy. El valor predeterminado es la versión de la biblioteca numpy aplicable a El Python actual.

  • La plataforma ARM de la placa de desarrollo compila directamente Python y bibliotecas numpy

La placa de desarrollo compila directamente el código fuente de Python de la misma manera que el lado de la PC . No hay herramientas de compilación cruzada, plataforma de compilación, plataforma de destino y otras configuraciones. Puede compilar directamente con gcc . La placa de desarrollo compila muy lentamente y tarda aproximadamente media hora.

Instale el código fuente de Python :

  1. Coloque el paquete comprimido del código fuente en cualquier ruta y descomprima el código fuente: tar -xvf Python-3.4.0.tgz
  2. Ingrese al directorio del código fuente: cd Python-3.4.0/
  3. Ejecute configure para configurar el Makefile :

./configure --prefix=/home/analog/python3.4

--prefix= va seguido de la ruta donde se instalará Python

Aparece la siguiente interfaz, lo que demuestra que el Makefile se generó correctamente

  1. Compile el código fuente y ejecute: make

La siguiente interfaz parece demostrar que la compilación pasó

  1. Para instalar Python, ejecute: make install

Instale la biblioteca numpy :

  1. Descomprima el código fuente numpy: tar –xvf numpy-1.8.1.tar.gz
  2. Ingrese la ruta de origen de numpy: cd numpy-1.8.1/
  3. Instale la biblioteca numpy a través de Python y ejecute el comando:

../python3.4/bin/python3.4 setup.py instalar

Entre ellos, ../python3.4/bin/python3.4 es la ruta de instalación de Python. Debe llamar al programa ejecutable de Python para instalar la biblioteca numpy. Una vez que la instalación sea exitosa, estará en lib/python3. .4/site-packages/ del directorio de instalación de Python. Genere numerosos contenidos relacionados con la biblioteca a continuación.

  1. Verifique que la instalación de la biblioteca numpy se haya realizado correctamente:

Vaya a la carpeta bin del directorio de instalación de Python: cd python3.4pc/bin

Inicie el programa Python: ./python3.4

Cargue la biblioteca numpy: importe numpy

Si aparece el contenido que se muestra en la figura anterior y no se informa ningún error, demuestra que se ha cargado la biblioteca numpy.

  • Cómo cambiar la versión predeterminada de Python
  1. La placa de desarrollo cambia la versión predeterminada de Python

El inicio del sistema llamará al enlace suave de Python en el directorio /usr/bin/ de forma predeterminada. Solo necesita apuntar el enlace suave a una versión diferente del programa ejecutable de Python, por ejemplo:

ln -s /home/analog/python3.4/bin/python3.4 ./python

De esta manera, se crea un enlace suave. Cabe señalar que el enlace suave existente debe eliminarse antes de la creación y que se debe otorgar permiso al programa ejecutable para ejecutarse.

  1. La máquina virtual cambia la versión predeterminada de Python

Si anaconda no está instalada en la máquina virtual, el método de cambio es el mismo que el de la placa de desarrollo. Si anaconda está instalada, debe modificar el archivo .bashrc en la carpeta del usuario, abrir el archivo y buscar el final, comentar Retire la parte, abra la ventana de comandos y ejecute: source ~/.bashrc (o reinicie la máquina virtual), apague Python de anaconda y podrá cambiar de versión modificando el enlace suave de Python en /usr/bin/.

Ver el contenido de la biblioteca estática .a:

ar -t python3.4m.a

Biblioteca estática de paquetes:

ar -cvr python3.4m.a *.o

Biblioteca dinámica de paquetes:

gcc -compartido -o python3.4m.so python.o

gcc -shared -o libhiredis.so alloc.o net.o contratadois.o sds.o async.o read.o sockcompat.o

Supongo que te gusta

Origin blog.csdn.net/qq_38584212/article/details/132041971
Recomendado
Clasificación