2009-03-28 8 views
8

J'ai été capable de configurer NetBeans for 2.6.1 en accédant à Python Platform Manager, en créant une nouvelle plate-forme, et en pointant NetBeans sur python.exe où j'ai installé 2.6.1. Cependant, lorsque je suis exactement les mêmes étapes pour 3.0, j'obtiens une erreur dans la console NetBeans qui dit "SyntaxError: syntaxe invalide".Est-ce que quelqu'un a configuré avec succès le développement NetBeans for Python (en particulier Python 3.0)?

S'il importe, Python est installé dans ce format:

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

Je me demande si quelqu'un a d'autre connu cela et ce qu'ils ont fait pour corriger le problème.

+0

Python 3.0 n'est pas compatible avec les versions 2.x. – jfs

+1

Cela n'a rien à voir avec mon problème. –

Répondre

5

Oui, c'est en fait très facile. Les scripts du plugin utilisent 'print' comme mot-clé qui a été changé dans Python 3; Il vous suffit de convertir toutes les instructions 'print' des fichiers console.py et platform_info.py sous le dossier 'python1' de votre répertoire d'installation NetBeans pour utiliser les parenthèses. Par exemple, dans platform_info.py la première ligne d'impression dit:

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

Modifier à:

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

Et pour ce faire toutes les déclarations d'impression. Ensuite, allez dans le NetBeans et importez votre répertoire Python30 dans le Python Platform Manager; ça marchera très bien.

Je n'ai pas encore rencontré d'autres problèmes, mais il y a peut-être d'autres petits problèmes de syntaxe dans le plugin; ils devraient être très faciles à réparer.

+0

Est-ce que cela me permettra d'utiliser Python 2.6 ainsi que 3.0? Je ne veux pas faire de changements qui ne me laisseront pas faire du développement 2.6 aussi. –

2

Il ne me laisse pas commenter ici, je vais donc répondre à votre commentaire dans un post. Oui, cela vous permettra également d'utiliser Python 2.x; la méthode 'print' étant à la fois un mot-clé et une fonction avant Python 3, les parenthèses étaient optionnelles. Comme sur 3 ils sont requis, donc ce changement est rétrocompatible.

0

Il y a quelques problèmes avec le débogage, btw- Je vous le ferai savoir quand je découvrirai avec succès ce qui doit être mis à jour ici.

0

Merci Ben Flynn pour la solution à intégrer python30 avec NetBeans 6,71

Cependant, ce morceau de code:

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) 

Ce qui est un exemple de code à partir d'un site d'aide, fonctionne avec l'erreur à partir l'IDE, mais l'éditeur se plaint:

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

ce qui suggère qu'il est l'analyse contre python2.5.1

+0

Dans le cas où il s'agit d'une question de suivi, vous ne devriez pas le poster comme une réponse, mais comme une nouvelle question. Je ne suis pas sûr cependant, puisque vous ne demandez vraiment rien. Mais cela ne semble pas non plus répondre à la question. En haut à droite, il y a un bouton «Poser une question» qui vous permet de poser une nouvelle question. Vous pouvez toujours revenir à cette question pour référence. – sth

0

À partir de la version 3.0, l'instruction d'impression doit être écrit en fonction ...

votre

impression (b, end = » «)

devient

imprimer ("end =", b)