2016-08-09 108 views
-2

Wenn ich versuche, diese Python-Code ausführen in meinem virtualenv:Ungültige Syntaxfehler mit numba mit pip installiert

#!./env/bin/python3 

from numba import jit 
@jit(nopython=True) 

print("Hello World") 

habe ich die folgende Fehlermeldung:

(env) [email protected]:/mnt/c/www/python/flask/app# ./test.py 
    File "./test.py", line 6 
    print("Hello World") 
     ^
SyntaxError: invalid syntax 

Das ist mein requirements.txt:

click==6.6 
Flask==0.11.1 
funcsigs==1.0.2 
itsdangerous==0.24 
Jinja2==2.8 
llvmlite==0.12.1 
MarkupSafe==0.23 
numba==0.27.0 
numpy==1.11.1 
pybars3==0.9.1 
PyMeta3==0.5.1 
Werkzeug==0.11.10 

llvm-config Version:Auch

, Wenn ich import numba oder from numba import jit nur tun, wird die Datei ausgeführt wird, aber geringfügig langsamer, als wenn ich ausführen mit python3 nur ohne numba Import.

+0

Ich entfernte, immer noch der gleiche Fehler erscheint. – Lanti

+1

Sorry, das war nicht das Problem. Das Problem ist die vorherige Zeile. Was soll '@jit()' tun? Es ist ein Dekorator, der nicht auf einen Funktionsaufruf angewendet werden kann ('print()'). – deceze

+0

Ich folge dieser Dokumentation: http://numba.pydata.org/numba-doc/0.27.0/user/jit.html Es besagt: "Mit diesem Dekorator, können Sie eine Funktion für die Optimierung von Numbas JIT-Compiler" I Ich möchte eine einfache Hello World Python-App mit der LLVM-Toolchain einrichten, um sie mit anderen Frameworks wie Node/Express, Node/Koa, Go/Iris zu vergleichen. Ich bin noch nie in Python programmiert worden, also vergib mir. – Lanti

Antwort

1

Bitte entfernen Sie Ihre Verwendung von @jit Dekorateur, weil es keine Funktion gibt, dort zu dekorieren, sie ist warum der Fehler. Dekorateure wickeln die Funktionen so ein, dass sie ohne sie nutzlos und unrichtig sind.