【问题标题】:How to update plugins for SPE Python Editor如何更新 SPE Python 编辑器的插件
【发布时间】:2011-12-03 14:09:07
【问题描述】:

用于 SPE 的 winpdb 的默认版本是 v.1.3.4,它在使用 Python 2.7 时存在问题。

这是我将 winpdb 版本升级到 v.1.4.8 所做的工作

第一步>重命名

C:\Program Files\SPE-0.8.4.c-wx2.6.1.0-no_setup_spe\plugins\winpdb

作为

C:\程序 文件\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

第三步>直接加载winpdb v.1.4.8没有问题。

C:\Python27\python.exe "C:\Program 文件\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>设置 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

问题一>为什么SPE能在winpdb老版本中找到winpdb模块?

问题2>如何解决这个问题?

谢谢

【问题讨论】:

  • 1.4.8 在 win 7 64 位和 python 2.6 中完美运行,只需更改旧文件夹和新文件夹。 SPE 是 0.8.4.i(您没有最后一个 SPE 版本)。

标签: python winpdb


【解决方案1】:

我遵循了你的程序,我得到了 winpdb 的工作。

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

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

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

【讨论】:

  • 嗨 joaquin,非常感谢您抽出宝贵的时间,非常感谢您的大力帮助。请您给我一些参考资料,以便我了解更多关于何时以及为何需要此 init.py 的信息。 -thx
  • @q0987 你可以看看[python docs](docs.python.org/tutorial/modules.html)
【解决方案2】:

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

总之:

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

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2022-01-24
    • 1970-01-01
    • 2017-12-05
    • 1970-01-01
    • 2018-03-30
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多