0

Eclipse と PyDev を使用して、次の基本的な python curses アプリケーションを作成しました。

#!/usr/bin/python

import curses

myscreen = curses.initscr()
curses.noecho()
curses.curs_set(0)
myscreen.keypad(1) 

myscreen.border(0)
myscreen.addstr(12, 25, "Python Curses")
myscreen.refresh()

while True:
    event = myscreen.getch()
    if event == ord("q"): break
    if event == ord("a"):
        myscreen.addstr(12, 25, "You Pressed A")
        myscreen.refresh()
    if event == ord("b"):
        myscreen.addstr(12, 25, "You Pressed B")
        myscreen.refresh()

curses.endwin()

プログラムは Linux ターミナルでは問題なく動作しますが、Eclipse PyDev で実行しようとするとエラーが発生します。ダッシュの入力を待ちます。

Eclipse で python curses コードをデバッグすることは可能ですか、それとも別の IDE の方が python curses 開発に適していますか?

また、curses はインタラクティブなコンソール アプリケーションに使用するのに適していますか? (私は、readlines で実行できる基本的なユーザー入力だけでなく、さらに多くのことを行うことを検討しています。)

4

3 に答える 3

3

PyDev には実際の端末の置き換えがないため (つまり、コンソール出力は実際の tty ではありません)、プログラムを外部の端末で起動し、リモート デバッガーでデバッグする必要があります。参照: http://pydev.org/manual_adv_remote_debugger.html

Eclipse で外部起動を構成して、プログラムを起動する外部シェルを起動できることに注意してください。

于 2012-09-03T11:08:13.687 に答える
2

答えてくれた Fabio に感謝します。これは私にとってはうまくいきましたが、PyDev マニュアルの " Remote Debugger " ページではうまくいきませんでした。

プラグイン「pysrc」ディレクトリを PyDev PYTHONPATH に何よりも先に配置する必要がありました。そうしないと、前述の PyDev デバッグ サーバー ボタンが使用できませんでした (Eclipse の再起動も必要だったと思います)。

pysrc ディレクトリを PYTHONPATH に入れる

Windows の cygwin で python を使用して curses アプリケーションを開発しているため、(Fabio が提案したように) 外部ツール構成をセットアップして、MinTTY を開き、bash スクリプトから python プログラムを実行します。bash スクリプトにはスリープも含まれているため、終了エラーを確認できます。

外部ツール実行の設定

また、2 つの環境変数を設定します: INSIDE_PYDEV_DEBUGGER (これにより、アプリケーションはデバッグ サーバーに接続するように指示されます) と、必要なプラグイン モジュールのディレクトリを含む PYTHONPATH です。

外部ツール環境変数のセットアップ

次に、Pythonプログラムの開始時に次のように記述しました。

import os
if 'INSIDE_PYDEV_DEBUGGER' in os.environ:
    import pydevd
    pydevd.settrace()

次に、PyDev デバッグ サーバーを起動して外部ツールを実行すると、ターミナルが開き、デバッガーでプログラムが停止します。

于 2014-08-02T20:32:51.480 に答える
0

ケイトを使ってみてください。これはターミナル エミュレータが組み込まれたプログラマ用のテキスト エディタなので、curses は正常に動作するはずです。

于 2012-09-01T03:08:22.533 に答える