Estoy creando un proyecto que utiliza Python OpenCV. A mi el procesamiento de la imagen es un poco lento, así que pensé que me pueden hacer el código más rápido mediante la creación de un .pyd archivo (he leído que en algún lugar).

Soy capaz de crear un .c archivo con Cython, sino cómo hacer que un .pyd? Si bien son una especie de .dll, debo hacer una .dll primera y convertirlo? Y creo que no son independientes de la plataforma, lo que son los equivalentes en Unix?

Gracias por la ayuda!

OriginalEl autor linusg | 2016-04-28

1 Comentario

  1. 7

    Usted tiene que ejecutar un setup.py archivo en un terminal. Este es un ejemplo que utiliza numpy

    try:
        from setuptools import setup
        from setuptools import Extension
    except ImportError:
        from distutils.core import setup
        from distutils.extension import Extension
    
    from Cython.Distutils import build_ext
    import numpy as np
    
    ext_modules = [Extension("my_code_cython",["my_code_cython.pyx"]),
                   Extension("another_code_cython",["another_code_cython.pyx"])]
    
    setup(
        name= 'Generic model class',
        cmdclass = {'build_ext': build_ext},
        include_dirs = [np.get_include()],
        ext_modules = ext_modules)

    En el terminal (cmd en Windows) tiene que ejecutar el comando

    python setup.py build_ext --inplace

    Es importante que supongo que tienes instalado el compilador (Compilador Microsoft Visual C++ Paquete de Python 2.7 por ejemplo). Usted puede encontrar más información en https://github.com/cython/cython/wiki/CythonExtensionsOnWindows

    Gracias por eso, he descubierto ya :). Puedo usar esto en *nix para crear .so archivos usando gcc?
    Sí, ese es el código que uso en Windows y *nix (Ubuntu en mi caso)

    OriginalEl autor sebacastroh

Dejar respuesta

Please enter your comment!
Please enter your name here