Кто-нибудь успешно настроил разработку NetBeans для Python (в частности, Python 3.0)? - PullRequest
8 голосов
/ 28 марта 2009

Мне удалось настроить NetBeans для 2.6.1, перейдя в диспетчер платформ Python, создав новую платформу и указав NetBeans на python.exe, где я установил 2.6.1. Однако, когда я выполняю те же самые шаги для 3.0, я получаю сообщение об ошибке в консоли NetBeans, которое говорит: «SyntaxError: неверный синтаксис».

Если это имеет значение, Python устанавливается в следующем формате:

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

Мне интересно, сталкивался ли кто-нибудь еще с этим и что они сделали, чтобы исправить проблему.

Ответы [ 5 ]

5 голосов
/ 05 апреля 2009

Да, на самом деле это очень просто. Скрипты в плагине используют «печать» в качестве ключевого слова, которое было изменено в Python 3; вам просто нужно преобразовать все операторы «print» в файлах console.py и platform_ info.py в папке «python1» в каталоге установки NetBeans, чтобы использовать скобки. Например, в platform_info.py первая строка печати гласит:

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

Измените его на:

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

И сделать это для всех операторов печати. Затем перейдите в NetBeans и импортируйте каталог Python30 в диспетчер платформ Python; это будет работать просто отлично.

Я еще не сталкивался ни с какими другими проблемами, но в плагине могут быть некоторые другие небольшие проблемы с синтаксисом; их должно быть очень легко исправить.

2 голосов
/ 05 апреля 2009

Здесь я не могу комментировать, поэтому я отвечу на ваш комментарий в сообщении.

Да, это позволит вам также использовать Python 2.x; Метод 'print' был и ключевым словом, и функцией до Python 3, поэтому скобки были необязательными. Как на 3 они требуются, так что это изменение обратно совместимо.

0 голосов
/ 25 августа 2009

Начиная с версии 3.0, оператор печати должен быть записан как функция ...

ваш

print (b, end = '')

становится

print ("end =", b)

0 голосов
/ 16 августа 2009

Спасибо, Бен Флинн, за решение по интеграции Python30 с NetBeans 6,71

Однако, этот кусок кода:

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)

Пример кода с сайта справки, работает без ошибок из IDE, но редактор жалуется:

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

Что говорит о синтаксическом анализе python2.5.1

0 голосов
/ 05 апреля 2009

Есть некоторые проблемы с отладкой, между прочим, я дам вам всем знать, когда я успешно выясню, что нужно обновить здесь.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...