Simplecv: Python3

Creado en 6 jul. 2016  ·  11Comentarios  ·  Fuente: sightmachine/SimpleCV

Parece que SimpleCV no se está ejecutando con Python3. Dado que Python2 se está eliminando gradualmente, espero que esto se solucione bastante pronto.

Esto es lo que obtengo con sudo pip3 install SimpleCV:

  Running setup.py install for SimpleCV
      File "/usr/local/lib/python3.4/dist-packages/SimpleCV/DrawingLayer.py", line 40
        def __init__(self, (width, height)):
                           ^
    SyntaxError: invalid syntax

      File "/usr/local/lib/python3.4/dist-packages/SimpleCV/base.py", line 139
        print 'unit test'
                        ^
    SyntaxError: Missing parentheses in call to 'print'

      File "/usr/local/lib/python3.4/dist-packages/SimpleCV/Color.py", line 213
        print a
              ^
    SyntaxError: Missing parentheses in call to 'print'

      File "/usr/local/lib/python3.4/dist-packages/SimpleCV/Features/BOFFeatureExtractor.py", line 68
        print "Opening file: " + infile
                             ^
    SyntaxError: Missing parentheses in call to 'print'

      File "/usr/local/lib/python3.4/dist-packages/SimpleCV/Features/Blob.py", line 876
        print self.mHullMask
                 ^
    SyntaxError: Missing parentheses in call to 'print'

      File "/usr/local/lib/python3.4/dist-packages/SimpleCV/Features/BlobMaker.py", line 97
        except RuntimeError,e:
                           ^
    SyntaxError: invalid syntax

      File "/usr/local/lib/python3.4/dist-packages/SimpleCV/EXIF.py", line 1182
        y = 0L
             ^
    SyntaxError: invalid syntax

      File "/usr/local/lib/python3.4/dist-packages/SimpleCV/Font.py", line 68
        print "Please pass a string"
                                   ^
    SyntaxError: Missing parentheses in call to 'print'

      File "/usr/local/lib/python3.4/dist-packages/SimpleCV/MachineLearning/TreeClassifier.py", line 190
        print "Opening file: " + infile
                             ^
    SyntaxError: Missing parentheses in call to 'print'

      File "/usr/local/lib/python3.4/dist-packages/SimpleCV/MachineLearning/SVMClassifier.py", line 181
        print "Opening file: " + infile
                             ^
    SyntaxError: Missing parentheses in call to 'print'

      File "/usr/local/lib/python3.4/dist-packages/SimpleCV/MachineLearning/NaiveBayesClassifier.py", line 120
        print "Opening file: " + infile
                             ^
    SyntaxError: Missing parentheses in call to 'print'

      File "/usr/local/lib/python3.4/dist-packages/SimpleCV/MachineLearning/KNNClassifier.py", line 153
        print "Opening file: " + infile
                             ^
    SyntaxError: Missing parentheses in call to 'print'

      File "/usr/local/lib/python3.4/dist-packages/SimpleCV/Stream.py", line 62
        except socket.error, e:
                           ^
    SyntaxError: invalid syntax

      File "/usr/local/lib/python3.4/dist-packages/SimpleCV/ImageClass.py", line 132
        print "You need to install Beatutiul Soup to use this function"
                                                                      ^
    SyntaxError: Missing parentheses in call to 'print'

      File "/usr/local/lib/python3.4/dist-packages/SimpleCV/Camera.py", line 363
        print "coord: (" + str(d.mouseX) + "," + str(d.mouseY) + "), color: " + str(i.getPixel(d.mouseX,d.mouseY))
                       ^
    SyntaxError: invalid syntax

      File "/usr/local/lib/python3.4/dist-packages/SimpleCV/tests/test_display.py", line 80
        print val
                ^
    SyntaxError: Missing parentheses in call to 'print'

      File "/usr/local/lib/python3.4/dist-packages/SimpleCV/tests/YCrCbtests.py", line 6
        print "Converted to YCrCb\n"
                                   ^
    SyntaxError: Missing parentheses in call to 'print'

      File "/usr/local/lib/python3.4/dist-packages/SimpleCV/tests/vcamera_tests.py", line 19
        print str(i) + ": " + str(props[i]) + "\n"
                ^
    SyntaxError: invalid syntax

      File "/usr/local/lib/python3.4/dist-packages/SimpleCV/tests/test_cameras.py", line 17
        print str(i) + ": " + str(props[i]) + "\n"
                ^
    SyntaxError: invalid syntax

      File "/usr/local/lib/python3.4/dist-packages/SimpleCV/tests/tests.py", line 74
        print val
                ^
    SyntaxError: Missing parentheses in call to 'print'

      File "/usr/local/lib/python3.4/dist-packages/SimpleCV/tests/test_optional.py", line 91
        print foundtext
                      ^
    SyntaxError: Missing parentheses in call to 'print'

      File "/usr/local/lib/python3.4/dist-packages/SimpleCV/tests/test_stereovision.py", line 54
        print val
                ^
    SyntaxError: Missing parentheses in call to 'print'

      File "/usr/local/lib/python3.4/dist-packages/SimpleCV/Shell/Shell.py", line 71
        print "args", arg
                   ^
    SyntaxError: Missing parentheses in call to 'print'

      File "/usr/local/lib/python3.4/dist-packages/SimpleCV/Shell/Example.py", line 28
        print "Available Examples:"
                                  ^
    SyntaxError: Missing parentheses in call to 'print'

      File "/usr/local/lib/python3.4/dist-packages/SimpleCV/Shell/Tutorial.py", line 35
        print lb
               ^
    SyntaxError: Missing parentheses in call to 'print'

Comentario más útil

Hola @mUtterberg ... mi bifurcación intentó mover SimpleCV de Python2 a Python3. Arreglé la mayoría de los problemas. El principal bloqueador actualmente es el manejo de datos internos. SimpleCV utiliza internamente una iplimage de 3 canales (RGB) de forma predeterminada, pero la iplimage está obsoleta. Se recomienda usar numpy.ndarray en su lugar, pero no había tenido tiempo para portar ningún código. Estoy dispuesto a ayudar si usted (o cualquier otra persona) tiene preguntas.

Todos 11 comentarios

Si los parientes que faltan son lo único que se necesita para migrar, esta será una solución fácil. Intentaré consultar a un experto en migración para ver qué otras preocupaciones puede haber.

Para corregirlo en algunas cosas: Python2, o más exactamente, Python27 no se está eliminando gradualmente; hay algunos intentos decentes de varias fuentes para hacerlo, pero aquellos que saben lo que están haciendo en el mundo, no cedan. la presión. Python3X en comparación con Python27 es mucho más confuso, extraño y frustrante, no es algo que recomendaría a los principiantes de la programación. Simplemente siga adelante y pruebe Python27, y créame cuando le digo que le encantará (a menos que se haya acostumbrado a muchas funciones específicas de Python3X, y déjeme decirle que no hay muchas)

Editar: Esta es una declaración de hace unos años, la mantendré aquí, pero ya no es válida.

El soporte para Python 2.7 finalizará en 2020, así que creo que es una preocupación válida. Siento que importar futuros es una forma sencilla de refactorizar los errores de la declaración de impresión. ¿Alguien sabe qué más debería cambiar para permitir la compatibilidad con versiones posteriores?

@mUtterberg También está la actualización de OpenCV2 a OpenCV3 que el marco SimpleCV debe someterse.

Soy nuevo en Python y espero comenzar con algo de codificación de cámara / visión en mi Raspberry Pi. Ya instalé OpenCV 3.4.1 (eventualmente) pero creo que simplecv sería un mejor punto de partida.

Pero el sitio web simplecv parece bastante desactualizado y, como se vio anteriormente, la instalación no funcionará correctamente con Python 3.

Intenté instalar simplecv pero cuando intento ejecutar simplecv desde la línea de comandos, obtengo los mismos errores de impresión que los anteriores. He intentado solucionar estos problemas agregando paréntesis al código Python, pero luego empiezo a recibir varios errores de 'importación' cuando intento ejecutar simplecv.

No sé lo difícil que sería actualizar simplecv para que funcione en Python3, pero sin duda agradecería probarlo cuando suceda.

A continuación se muestran los errores que recibo ahora ...

pi @ raspberrypi : ~ $ simplecv
RuntimeError: módulo compilado contra API versión 0xc pero esta versión de numpy es 0xa
Rastreo (llamadas recientes más última):
Archivo "/ usr / local / bin / simplecv", línea 7, en
desde la principal de importación de SimpleCV.Shell
Archivo "/usr/local/lib/python3.5/dist-packages/SimpleCV/__init__.py", línea 3, en
desde SimpleCV.base import *
Archivo "/usr/local/lib/python3.5/dist-packages/SimpleCV/base.py", línea 26, en
importar scipy.ndimage como ndimage
Archivo "/usr/local/lib/python3.5/dist-packages/scipy/ndimage/__init__.py", línea 161, en
desde la importación de filtros *
Archivo "/usr/local/lib/python3.5/dist-packages/scipy/ndimage/filters.py", línea 37, en
de . importar _nd_image
ImportError: numpy.core.multiarray no se pudo importar

@chrisgavinlondon , Sight Machine parece haber abandonado esta biblioteca, pero hay numerosas bifurcaciones. Terminé bifurcándolo y lo cambié hasta el punto de que puedo instalarlo y ejecutarlo en mi Raspberry Pi, que por defecto es Python 2.7. Los errores desde la perspectiva 2.7 fueron soluciones SUPER fáciles una vez que ejecuté la versión de mi fork. Estoy trabajando para actualizarlo a una versión moderna de Python, ¡pero estoy seguro de que otros han estado trabajando en sus propias bifurcaciones mucho más tiempo que yo! En este punto, es mejor que escojamos la bifurcación sólida de alguien y llevemos a nuestra fiesta SimpleCV allí.
¿¿Pero quién sabe?? ¡Quizás @andrewbaldock @bremac @demaagdk @doclrogers @idfarmer @mechiris @oostendo @struckmannk o @xamox verán uno de estos hilos y decidirán pedir ayuda a las personas! Mantener una biblioteca, especialmente una tan importante, es mucho trabajo.

Hola @mUtterberg ... mi bifurcación intentó mover SimpleCV de Python2 a Python3. Arreglé la mayoría de los problemas. El principal bloqueador actualmente es el manejo de datos internos. SimpleCV utiliza internamente una iplimage de 3 canales (RGB) de forma predeterminada, pero la iplimage está obsoleta. Se recomienda usar numpy.ndarray en su lugar, pero no había tenido tiempo para portar ningún código. Estoy dispuesto a ayudar si usted (o cualquier otra persona) tiene preguntas.

Hola @mUtterberg ... mi bifurcación intentó mover SimpleCV de Python2 a Python3. Arreglé la mayoría de los problemas. El principal bloqueador actualmente es el manejo de datos internos. SimpleCV utiliza internamente una iplimage de 3 canales (RGB) de forma predeterminada, pero la iplimage está obsoleta. Se recomienda usar numpy.ndarray en su lugar, pero no había tenido tiempo para portar ningún código. Estoy dispuesto a ayudar si usted (o cualquier otra persona) tiene preguntas.

Hola @mUtterberg , solo quiero usar SimpleCV para encontrar un círculo, ¿crees que con tu tenedor puedo hacerlo? ¿O todavía no está listo? Gracias

+1

Python 2 es oficialmente la puesta del sol. ¿Hay planes para hacer compatible simplecv python 3? Es un paquete genial y fácil de entender. Gracias.

@jairoareyes Terminé usando OpenCV, ya que las versiones recientes de la API de Python son mucho más intuitivas y más o menos niegan la necesidad de una API de terceros.

¿Fue útil esta página
0 / 5 - 0 calificaciones

Temas relacionados

takluyver picture takluyver  ·  30Comentarios

slanning6 picture slanning6  ·  8Comentarios

stanchiang picture stanchiang  ·  3Comentarios

DarwinSurvivor picture DarwinSurvivor  ·  3Comentarios

ispmarin picture ispmarin  ·  3Comentarios