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> 古いバージョンの winpdb で SPE が wi​​npdb モジュールを検出できるのはなぜですか?

質問 2> この問題を解決するにはどうすればよいですか?

ありがとうございました

4

2 に答える 2

1

私はあなたの手順に従い、winpdb を動作させました。

しかし、よく見てみると、動作中の rpdb2 エンティティはオンではなくspe/plugins/winpdb、サイト パッケージ内の別のインストールであることがわかりました。

たぶんあなたの問題はこれに関連しています。__init__.py手順で、ファイルを winpdb モジュールに含めるのを忘れました。これは winpdb zip 配布ファイルには含まれておらず、フォルダーをインポート可能なモジュールを含むパッケージに変換する必要があります。パッケージとモジュールの検索に関する詳細情報は、ここここにあります。

したがって、__init__.pyファイルを古いフォルダーから新しいフォルダーにコピーして貼り付けるだけです (とにかく空のファイルです)。

于 2011-10-08T15:29:38.593 に答える
0

最初の投稿の手順 1 と 2 だけが必要で、__init__.py次の投稿の手順をコピーしただけでうまくいきました。

要約すると:

  • 元の spe インストールでプラグインを見つけて、後でファイルwindbを取得する必要があるため、reanme するか、安全な場所に置き ます。__init__.py
  • ダウンロードwinpdb v.1.4.8して、元の場所 (plugins フォルダー内) に配置____init____.pyし、元のフォルダーから新しいフォルダーにコピーします。speを再起動してデバッグを試してみてください。これでうまくいきました。
于 2012-08-07T08:44:02.547 に答える