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> 为什么SPE可以在旧的winpdb版本中找到winpdb模块?
问题 2> 如何解决这个问题?
谢谢