0

python web2py.pyinターミナル(mac ox lion)を実行して、コントローラーに移動するのは非常に簡単です。以前はそれを実行していると思っていたコードがありましたが、今はコードにこれしか残っておらず、まだ問題が発生しています。

def login():
    import pdb
    pdb.set_trace()
    value = 'test'
    return dict(test=value)

これから私は次のようになります:

/Users/auser/web/public/applications/api/controllers/profile.py(10)login()
-> value = 'test'
(Pdb) Tcl_WaitForEvent: Notifier not initialized
Abort trap: 6

ここで何が起こっているのか誰か知っていますか?MacOSXに付属しているPythonの標準フレーバーを使用しています-Python2.7.1

システムは一瞬ハングし、次にを吐き出しAbort Trap: 6ます。次に、世界が爆発したと考えているため、macosxから「Pythonでこの問題を報告しますか」という容疑者を取得します。web2pyにキルスイッチがあるのか​​、pdbに何があるのか​​はわかりませんが、それは私を狂わせています。

web2pyが関与していない場合、pdbは正常に動作します。これもテストしました。

私が参加しているPython環境(64から32)を切り替える必要があるため、winpdbをダウンロードしたくありません。実際にそれを実行して、別の頭痛の種を作成したくありません。特にweb2pyなしで動作する場合は?

どんな助けでも大歓迎です。

乾杯、

センテンシア

4

1 に答える 1

0

I was going about it the wrong way. It must be trying to freeze the web2py server and causing a critical fault.

The way I'm using it now is in interactive shell mode which fixes the server environment problem - I can't believe I didn't try this earlier.

I use the same code:

def login():
    import pdb
    pdb.set_trace()
    value = 'test'
    return dict(test=value)

and use this at the terminal

python web2py.py --shell=/api/profile/login -M

It then breaks as it should.

Rage calming.....

于 2013-03-07T05:50:30.607 に答える