SPE 用の winpdb のデフォルト バージョンは v.1.3.4 で、Python 2.7 での動作に問題があります。
winpdb のバージョンを v.1.4.8 にアップグレードするために行ったことは次のとおりです。
ステップ1>名前を変更
C:\Program Files\SPE-0.8.4.c-wx2.6.1.0-no_setup_spe\plugins\winpdb
なので
C:\Program Files\SPE-0.8.4.c-wx2.6.1.0-no_setup_spe\plugins\winpdb_v.1.3.4
ステップ 2> winpdb v.1.4.8 をダウンロードし、フォルダを次のようにコピーします。
C:\Program Files\SPE-0.8.4.c-wx2.6.1.0-no_setup_spe\plugins\winpdb
ステップ 3> winpdb v.1.4.8 を問題なく直接ロードします。
C:\Python27\python.exe "C:\Program Files\SPE-0.8.4.c-wx2.6.1.0-no_setup_spe\plugins\winpdb\winpdb.py"
ステップ 4> SPE 0.8.4.c を使用して winpdb を起動し、次のエラーが表示される
Python 2.7.2 (default, Jun 12 2011, 15:08:59) [MSC v.1500 32 bit (Intel)] on win32 Type "help", "copyright", "credits" or "license" for more information.
>>> Traceback (most recent call last): File "C:\Program Files\SPE-0.8.4.c-wx2.6.1.0-no_setup\_spe\sm\wxp\NotebookCtrl.py", line 2722, in OnMouseMotion
insidetab = self.GetInsideTab(pt) File "C:\Program Files\SPE-0.8.4.c-wx2.6.1.0-no_setup\_spe\sm\wxp\NotebookCtrl.py", line 2468, in GetInsideTab
for tabs in self._tabrect: AttributeError: 'TabCtrl' object has no attribute '_tabrect' Traceback (most recent call last): File "C:\Program Files\SPE-0.8.4.c-wx2.6.1.0-no_setup\_spe\dialogs\winpdbDialog.py", line 144, in onDebug
from plugins.winpdb import __file__ as fileName File "C:\Program Files\SPE-0.8.4.c-wx2.6.1.0-no_setup\_spe\plugins\winpdb\rpdb2.py", line 13488, in rpdb2_import_wrapper
m = g_import(*args, **kwargs) ImportError: No module named winpdb
問題を解決せずに次のことを行いました
1>パスを追加
C:\Documents and Settings\daliu>set PYTHONPATH PYTHONPATH=C:\Program Files\SPE-0.8.4.c-wx2.6.1.0-no_setup_spe\plugins\winpdb
2>コードを追加
import sys
sys.path.append(r'C:\Program Files\SPE-0.8.4.c-wx2.6.1.0-no_setup\_spe\plugins\winpdb')
rpdb2.py と winpdbDialog.py へ
質問 1> 古いバージョンの winpdb で SPE が winpdb モジュールを検出できるのはなぜですか?
質問 2> この問題を解決するにはどうすればよいですか?
ありがとうございました