2011-01-30 7 views
3

これは非常に一般的な問題であるはずですが、Googleやstackoverlowのどちらの検索も私の手助けにはなりませんでした。
Netbeans 6.9.1でPython3プログラムを開発したいと思います。しかし、私はプロジェクトを作成するときに、私が見デバッグボタンにブレークポイントを押しを切り替える出力以下:Python3プロジェクトのNetbeans 6.9.1でのデバッグ

[LOG]PythonDebugger : overall Starting 
[LOG]PythonDebugger.taskStarted : I am Starting a new Debugging Session ... 
[LOG]This window is an interactive debugging context aware Python Shell 
[LOG]where you can enter python console commands while debugging 
>>> File "/home/proger/.netbeans/6.9/config/nbPython/debug/nbpythondebug/jpydaemon.py", line 219 
    print self.debuggerFName 
      ^
SyntaxError: invalid syntax 
Debug session Abort =1 
>>> 

そして、私が見たログウィンドウの下:私はそれを理解すれば

ERROR::Server Socket listen for debuggee has timed out(more than 20 seconds wait) java.net.SocketTimeoutException: Accept timed out 

だから、右の試行をNetBeansのJython2.somethingデバッガでPython3のコードをデバッグする右のデバッガを接続する方法はありますか?

+0

構文エラーが発生しました –

答えて

2

Netbeansの仕組みはわかりませんが、エラーメッセージから、Python 3インタプリタがPython 2のコードを受け取ったようです。私はNetbeansがブレークポイントフック経由でPythonにデバッグサーバをフックするので、ブレークポイントに達すると、netbeans IDEが次に話をしようとするデバッグサーバを起動することを念頭に置いています。

このデバッグサーバ(jpydaemon.py)は、明らかにあなたのバージョンではなく、Python 3に移植されていません。

私は何かがJythonによって実行されているとは思わない。この場合のコードはJythonのためにjpydaemon.pyと書かれているようですが、いずれの場合でもJythonはPython 3の構文をサポートしていないので、Python 3のコードを開発してJythonで実行しようとすると、かなり悲惨に失敗する可能性が高い。 :-)

更新:jpydaemon.pyを見てから、私は正確に正しく推測したと結論づけます。 jpydaemonには、sys.settrace()を介してデバッグフックにフックされるデバッガserveiceが含まれています。だから問題は非常に単純です:jpydaemon.pyはまだPython 3に移植されていないので、Netbeans内部デバッガを使ってPython 3のコードをデバッグすることはできません。

3

NetBeansを使用するときに同じ問題が発生しました。私は219行

print self.debuggerFName 
==> 
print(self.debuggerFName) 

再起動のNetBeansについてjpydaemon.py 変更にコードを編集することによってこの問題を解決し、それが動作します。

関連する問題