0

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> 如何解决这个问题?

谢谢

4

2 回答 2

1

我按照你的程序,我得到了 winpdb 工作。

然而,仔细观察后,我意识到工作的 rpdb2 实体不是那个,spe/plugins/winpdb而是我的站点包中的另一个安装。

也许您的问题与此有关。在您的过程中,您忘记将__init__.py文件包含在 winpdb 模块中。它不包含在 winpdb zip 分发文件中,需要将文件夹转换为包含可导入模块的包。你有更多关于包和模块搜索的信息herehere

__init__.py因此,只需将文件从旧文件夹复制粘贴到新文件夹(无论如何它是一个空文件)。

于 2011-10-08T15:29:38.593 回答
0

我只需要第一篇文章中的第 1 步和第 2 步,然后我复制了__init__.py下一篇文章中的步骤,仅此一项就对我有用。

总而言之:

  • windb在原始 spe 安装中 找到插件,然后重新命名它或将其放在安全的地方,因为我们__init__.py稍后需要从中获取文件。
  • 下载winpdb v.1.4.8并将其放在原始位置(在插件文件夹中)____init____.py从原始文件夹复制到新文件夹中。重新启动 spe 并尝试调试,这对我有用。
于 2012-08-07T08:44:02.547 回答