0

私はPythonを初めて使用するので、我慢してください。私はpyDevプラグインのフォアエクリプスを使用しています。3つのファイルがあります:

tool.py:

from gui import Tool_Window
import wx
import settings

if __name__ == '__main__':

    window = wx.App()
    Tool_Window(None, settings.WindowHeader)
    window.MainLoop()

Tool_Window.py:

from Tool import settings
import wx

class Tool_Window(wx.Frame):

def __init__(self, parent, title):

    super(Tool_Window,self).__init__(parent, title = title)

    self.SetDimensions(settings.WindowOpenX,
                       settings.WindowOpenY,
                       settings.WindowWidth,
                       settings.WindowHeight)

settings.py:

WindowHeader = 'The SuperAwesome Tool'
WindowOpenX = 500
WindowOpenY = 100
WindowWidth = 200
WindowHeight = 400

「tool.py」ファイルは「settings.py」ファイルと同様に「Tool」というパッケージにあり、「Tool_Window」はパッケージ「gui」にあります。

プロジェクトにあった以前のファイルからエラーメッセージが表示されますが、現在は「settings.py」に名前が変更されています。Eclipseでプロジェクトをクリーンアップしようとしましたが、何も起こりません。エラーメッセージは次のようになります。

Traceback (most recent call last):
  File "/home/oystein/workspaces/python/awesome.tool/src/Tool/tool.py", line 8, in <module>
    Tool_Window(None, settings.WindowHeader)
  File "/home/oystein/workspaces/python/awesome.tool/src/gui/__init__.py", line 12, in __init__
    # ;-)
AttributeError: class GeneralParameters has no attribute 'WindowParameters'

以前は、設定のために静的変数にアクセスしたかったので、サブクラスWindowParametersを持つGeneralParametersという名前のクラスがありました。私はPythonがそのようにできないことを再確認し、それを「settings.py」ファイルに変更しました。

「tool.py」からプログラムを実行します

誰かがここで何が悪いのかわかりますか?

4

1 に答える 1

0

古いバイトコードを実行しているので、.pycファイルを削除してコードを再実行してください。

トレースバックは.pyファイルからソースを読み取りますが、バイトコードから構築されます。つまり、コメントのみで構成される行にエラーがあることを示しているという事実は、物事が同期しなくなったことを示唆しています。

通常、Pythonは.pyc古いときにファイルをクリーンアップしますが、.py変更時刻が新しい場合に限ります。

于 2013-01-15T15:53:10.390 に答える