Кто-нибудь успешно настроил NetBeans для разработки Python (в частности, Python 3.0)?
я смог настроить 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 ответов
Да - это на самом деле очень легко. Скрипты в плагине используют' print 'в качестве ключевого слова, которое было изменено в Python 3; вам просто нужно преобразовать все операторы 'print' в console.py и платформа info.py файлы в папке "python1" в каталоге установки NetBeans для использования скобок. Например, в platform_info.py первая печатная строка гласит:
print "platform.name="+ "Jython " + version
меняем его на:
print("platform.name="+ "Jython " + version)
и сделайте это для всех операторов печати. Затем идите в NetBeans и импортируйте каталог Python30 в менеджер платформы Python; он будет работать нормально.
Я еще не сталкивался с другими проблемами, но в плагине могут быть некоторые другие небольшие синтаксические проблемы; их должно быть очень легко исправить.
Это не позволяет мне комментировать здесь, поэтому я отвечу на ваш комментарий в сообщении.
Да, это позволит вам использовать Python 2.x также; метод "print" был как ключевым словом, так и функцией до Python 3, поэтому скобки были необязательными. Как и на 3, они необходимы, поэтому это изменение обратно совместимо.
есть некоторые проблемы с отладкой, кстати-я дам вам знать, когда я успешно выяснить, что должно быть обновлено здесь.
спасибо Бену Флинну за решение интегрировать 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, но редактор жалуется:--3-->
Internal parser error
"no viable alternative at input'=' "
что предполагает, что он анализирует против python2.5.1
начиная с версии 3.0, оператор печати должен быть записан как функция...
код
print (b, end=' ')
становится
print ("end=", b)