Как обновить плагины для SPE Python Editor - PullRequest
0 голосов
/ 08 октября 2011

Версия winpdb для SPE по умолчанию - 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

1011 *, как *

C: \ Program Файлы \ 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 Файлы \ SPE-0.8.4.c-wx2.6.1.0-no_setup_spe \ Plugins \ Winpdb \ winpdb.py "

Шаг 4> Запустить winpdb через SPE 0.8.4.c со следующими ошибками

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

Вопрос 1> Почему SPE может найти модуль winpdb в старой версии winpdb?

Вопрос 2> Как решить эту проблему?

Спасибо

Ответы [ 2 ]

1 голос
/ 08 октября 2011

Я следовал вашей процедуре и получил winpdb работающим.

Однако после более пристального взгляда я понял, что рабочая сущность rpdb2 была не той на spe/plugins/winpdb, а другой установкой в ​​моих пакетах сайта.

Может быть, ваша проблема связана с этим.В вашей процедуре вы забыли включить файл __init__.py в модуль winpdb.Он не входит в дистрибутивный файл winpdb zip и необходим для преобразования папки в пакет с модулями, которые можно импортировать.У вас есть больше информации о пакетах и ​​модульном поиске здесь и здесь .

Итак, просто скопируйте и вставьте файл __init__.py из старой в новую папку (этов любом случае это пустой файл).

0 голосов
/ 07 августа 2012

Мне понадобились только шаги 1 и 2 из первого поста, затем я скопировал __init__.py из следующего поста, и это само по себе сработало.

Итак, в итоге:

  • Найдите плагин windb в исходной установке spe и реанимируйте его или поместите в безопасное место, так как нам нужно получить файл __init__.py позже.
  • Скачать winpdb v.1.4.8 и поместите его туда, где находился оригинал (в папке плагинов), скопируйте ____init____.py из оригинала в новую папку.Перезапустите spe и попробуйте отладку, у меня все заработало.
...