Simplecv: Python3

Erstellt am 6. Juli 2016  ·  11Kommentare  ·  Quelle: sightmachine/SimpleCV

Scheint, dass SimpleCV nicht mit Python3 läuft. Da Python2 ausläuft, hoffe ich, dass dies bald behoben wird.

Das bekomme ich mit 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'

Hilfreichster Kommentar

Hallo @mUtterberg ... mein Fork hat versucht, SimpleCV von Python2 nach Python3 zu verschieben. Ich habe die meisten Probleme behoben. Der Hauptblocker ist derzeit das interne Datenhandling. SimpleCV verwendet intern standardmäßig ein Iplimage mit 3 Kanälen (RGB), aber Iplimage ist veraltet. Es wird empfohlen, stattdessen numpy.ndarray zu verwenden, aber ich hatte nicht die Zeit gefunden, Code zu portieren. Ich bin bereit zu helfen, wenn Sie (oder jemand anderes) Fragen haben.

Alle 11 Kommentare

Wenn die fehlenden Parents das einzige sind, was für die Migration benötigt wird, ist dies eine einfache Lösung. Ich werde versuchen, einen Migrationsexperten zu konsultieren, um herauszufinden, welche anderen Bedenken es geben könnte.

Um Sie in ein paar Dingen zu korrigieren: Python2, oder genauer gesagt, Python27 wird nicht auslaufen - es gibt einige anständige Versuche aus verschiedenen Quellen, dies zu tun, aber diejenigen, die wissen, was in aller Welt sie tun, lassen sich nicht unterkriegen der Druck. Python3X ist im Vergleich zu Python27 eine Tonne verwirrender, seltsamer und frustrierender, nichts, was ich Programmieranfängern empfehlen würde. Probieren Sie Python27 einfach aus und vertrauen Sie mir, wenn ich sage, dass Sie es lieben werden (es sei denn, Sie haben sich an viele Python3X-spezifische Funktionen gewöhnt, das heißt, und ich sage Ihnen, es gibt nicht viele davon)

Edit: Dies ist eine einige Jahre alte Aussage, ich behalte sie hier, aber sie ist nicht mehr gültig.

Die Unterstützung für Python 2.7 endet im Jahr 2020, daher denke ich, dass dies ein berechtigtes Anliegen ist. Ich habe das Gefühl, dass das Importieren von Futures eine einfache Möglichkeit ist, die Fehler in der Druckanweisung umzugestalten. Weiß jemand, was noch geändert werden müsste, um die Aufwärtskompatibilität zu ermöglichen?

@mUtterberg Es gibt auch das Upgrade von OpenCV2 auf OpenCV3, das das SimpleCV-Framework durchlaufen muss.

Ich bin neu bei Python und hoffe, mit der Kamera- / Bildcodierung auf meinem Raspberry Pi beginnen zu können. Ich habe OpenCV 3.4.1 bereits installiert (eventuell), aber ich denke, simplecv wäre ein besserer Ausgangspunkt.

Aber die simplecv-Website scheint ziemlich veraltet zu sein und wie oben zu sehen, funktioniert die Installation mit Python 3 nicht richtig.

Ich habe versucht, simplecv zu installieren, aber wenn ich versuche, simplecv über die Befehlszeile auszuführen, erhalte ich dieselben Druckfehler wie oben. Ich habe versucht, diese zu beheben, indem ich dem Python-Code die Klammern hinzugefügt habe, aber dann bekomme ich verschiedene "Import" -Fehler, wenn ich versuche, simplecv auszuführen.

Ich weiß nicht, wie schwer es wäre, simplecv auf Python3 zu aktualisieren, aber ich würde es auf jeden Fall zu schätzen wissen, wenn es passiert.

Unten sind die Fehler, die ich jetzt bekomme ...

pi@raspberrypi :~ $ simplecv
RuntimeError: Modul gegen API-Version 0xc kompiliert, aber diese Version von numpy ist 0xa
Traceback (letzter Anruf zuletzt):
Datei "/usr/local/bin/simplecv", Zeile 7, in
aus SimpleCV.Shell import main
Datei "/usr/local/lib/python3.5/dist-packages/SimpleCV/__init__.py", Zeile 3, in
aus SimpleCV.base-Import *
Datei "/usr/local/lib/python3.5/dist-packages/SimpleCV/base.py", Zeile 26, in
scipy.ndimage als ndimage importieren
Datei "/usr/local/lib/python3.5/dist-packages/scipy/ndimage/__init__.py", Zeile 161, in
aus .filters-Import *
Datei "/usr/local/lib/python3.5/dist-packages/scipy/ndimage/filters.py", Zeile 37, in
von . _nd_image importieren
ImportError: numpy.core.multiarray konnte nicht importiert werden

@chrisgavinlondon , Sight Machine scheint diese Bibliothek aufgegeben zu haben, aber es gibt zahlreiche Abzweigungen davon. Am Ende habe ich es gegabelt und es so weit geändert, dass ich es auf meinem Raspberry Pi installieren und ausführen kann, der standardmäßig Python 2.7 ist. Die Fehler aus der 2.7-Perspektive waren SUPER einfache Fixes, sobald ich die Version meiner Fork ausgeführt habe. Ich arbeite daran, es auf eine moderne Version von Python zu bringen, aber ich bin sicher, andere haben viel länger an ihren eigenen Forks gearbeitet als ich! An diesem Punkt sind wir vielleicht besser dran, die feste Gabel von jemandem zu pflücken und unsere SimpleCV-Party dorthin zu bringen.
Aber wer weiß?? Vielleicht sehen @andrewbaldock @bremac @demaagdk @doclrogers @idfarmer @mechiris @oostendo @struckmannk oder @xamox einen dieser Threads und beschließen, Leute um Hilfe zu bitten! Die Pflege einer Bibliothek, insbesondere einer so umfangreichen, ist mit viel Arbeit verbunden.

Hallo @mUtterberg ... mein Fork hat versucht, SimpleCV von Python2 nach Python3 zu verschieben. Ich habe die meisten Probleme behoben. Der Hauptblocker ist derzeit das interne Datenhandling. SimpleCV verwendet intern standardmäßig ein Iplimage mit 3 Kanälen (RGB), aber Iplimage ist veraltet. Es wird empfohlen, stattdessen numpy.ndarray zu verwenden, aber ich hatte nicht die Zeit gefunden, Code zu portieren. Ich bin bereit zu helfen, wenn Sie (oder jemand anderes) Fragen haben.

Hallo @mUtterberg ... mein Fork hat versucht, SimpleCV von Python2 nach Python3 zu verschieben. Ich habe die meisten Probleme behoben. Der Hauptblocker ist derzeit das interne Datenhandling. SimpleCV verwendet intern standardmäßig ein Iplimage mit 3 Kanälen (RGB), aber Iplimage ist veraltet. Es wird empfohlen, stattdessen numpy.ndarray zu verwenden, aber ich hatte nicht die Zeit gefunden, Code zu portieren. Ich bin bereit zu helfen, wenn Sie (oder jemand anderes) Fragen haben.

Hallo @mUtterberg Ich möchte nur SimpleCV verwenden, um einen Kreis zu finden, denkst du mit deiner Gabel, dass ich das schaffen kann? Oder ist es noch nicht fertig? Vielen Dank

+1

Python 2 ist offiziell Sonnenuntergang. Gibt es Pläne, Simplecv Python 3 kompatibel zu machen? Es ist ein cooles und einfach zu verstehendes Paket. Vielen Dank.

@jairoaeyes Ich habe OpenCV selbst verwendet, da die jüngsten Versionen der Python-API viel intuitiver sind und die Notwendigkeit einer Drittanbieter-API mehr oder weniger überflüssig machen.

War diese Seite hilfreich?
0 / 5 - 0 Bewertungen