2009-03-28 13 views
8

Ich konnte NetBeans für 2.6.1 konfigurieren, indem ich zum Python Platform Manager ging, eine neue Plattform erstellte und NetBeans auf python.exe zeigte, wo ich 2.6.1 installiert habe. Wenn ich jedoch die gleichen Schritte für 3.0 befolge, erhalte ich einen Fehler in der NetBeans-Konsole, der "SyntaxError: ungültige Syntax" sagt.Hat jemand erfolgreich NetBeans für Python (speziell Python 3.0) entwickelt?

Wenn es darauf ankommt, ist Python in diesem Format installiert:

/Program Files 
    /Python 
     /2.6 
      python.exe and everything else 
     /3.0 
      python.exe and everything else 

Ich frage mich, ob jemand diese Erfahrung gemacht hat und was sie taten, das Problem zu korrigieren.

+0

Python 3.0 ist mit 2.x-Versionen nicht kompatibel. – jfs

+1

Das hat nichts mit meinem Problem zu tun. –

Antwort

5

Ja - es ist eigentlich sehr einfach. Die Skripte im Plugin verwenden 'print' als Schlüsselwort, das in Python 3 geändert wurde; Sie müssen nur alle "print" -Anweisungen in den Dateien console.py und platform_ info.py im Ordner "python1" in Ihrem NetBeans-Installationsverzeichnis konvertieren, um Klammern zu verwenden. Zum Beispiel in platform_info.py die erste Druckzeile sagt:

print "platform.name="+ "Jython " + version 

Ändern Sie es an:

print("platform.name="+ "Jython " + version) 

Und dies für alle Druck Aussagen. Gehen Sie dann in die NetBeans und importieren Sie Ihr Python30-Verzeichnis in den Python Platform Manager. es wird gut funktionieren.

Ich bin noch nicht auf andere Probleme gestoßen, aber es könnte einige andere kleine Syntaxprobleme im Plugin geben; Sie sollten sehr einfach zu beheben sein.

+0

Kann ich damit sowohl Python 2.6 als auch 3.0 verwenden? Ich möchte keine Änderungen vornehmen, die mich auch nicht zur 2.6-Entwicklung bewegen. –

2

Es lässt mich hier nicht kommentieren, also werde ich Ihren Kommentar in einem Beitrag beantworten.

Ja, Sie können auch Python 2.x verwenden; Die Methode 'print' war vor Python 3 sowohl ein Schlüsselwort als auch eine Funktion, daher waren die Klammern optional. Wie auf 3 sind sie erforderlich, also ist diese Änderung rückwärtskompatibel.

0

Es gibt einige Probleme mit dem Debuggen, BTW- Ich werde Sie alle wissen lassen, wenn ich erfolgreich herausfinden, was hier aktualisiert werden muss.

0

Danke Ben Flynn für die Lösung python30 mit Netbeans 6,71

Doch dieses Stück Code zu integrieren:

def fib(n): # write Fibonacci series up to n 
    """Print a Fibonacci series up to n.""" 
    a, b = 0, 1 
    while b < n: 
     print (b, end=' ') 
     a, b = b, a+b 

fib(2000) 

Welche ist ein Beispiel-Code von einer Hilfe-Website, läuft mit aus-Fehlern aus die IDE, aber der Herausgeber klagt:

Internal parser error 
"no viable alternative at input'=' " 

der es Parsen gegen python2.5.1 schlägt

+0

Falls dies eine Folgefrage ist, sollten Sie sie nicht als Antwort, sondern als neue Frage posten. Ich bin mir aber nicht sicher, da du wirklich nichts fragst. Aber es scheint auch nicht die Frage zu beantworten. In der oberen rechten Ecke gibt es eine Schaltfläche "Frage stellen", mit der Sie eine neue Frage stellen können. Sie können jederzeit auf diese Frage als Referenz verweisen. – sth

0

ab Version 3.0, die print-Anweisung hat als Funktion geschrieben werden ...

Ihr

print (b, Ende =‘‚)

wird

Druck ("end =", b)

Verwandte Themen