2017-09-28 16 views
0

私の質問は同じto this unanswered questionですが、私は自分のコンテキスト(パッケージバージョン)を追加したいと思っていました。 (私はSE規則に従ってこれをしなければならない方法を私に教えてください)。traitsui editorをインポートするとPythonでwxエラーが発生する

次の行:

import wx 
from traitsui.api import View, Item, Group, HSplit, Handler, EnumEditor, FileEditor 

原因次のエラー:

--------------------------------------------------------------------------- 
AttributeError       Traceback (most recent call last) 
<ipython-input-2-ad1e3b62165b> in <module>() 
----> 1 from traitsui.api import View, Item, Group, HSplit, Handler, EnumEditor, FileEditor 

/usr/local/lib/python2.7/dist-packages/traitsui/api.py in <module>() 
    34 
    35 try: 
---> 36  from .editors.api import ArrayEditor 
    37 except ImportError: 
    38  # ArrayEditor depends on numpy, so ignore if numpy is not present. 

/usr/local/lib/python2.7/dist-packages/traitsui/editors/__init__.py in <module>() 
    21 
    22 try: 
---> 23  from .api import ArrayEditor 
    24 except ImportError: 
    25  pass 

/usr/local/lib/python2.7/dist-packages/traitsui/editors/api.py in <module>() 
    22 from .button_editor import ButtonEditor 
    23 from .check_list_editor import CheckListEditor 
---> 24 from .code_editor import CodeEditor 
    25 from .color_editor import ColorEditor 
    26 from .compound_editor import CompoundEditor 

/usr/local/lib/python2.7/dist-packages/traitsui/editors/code_editor.py in <module>() 
    34 #------------------------------------------------------------------------------- 
    35 
---> 36 class ToolkitEditorFactory (EditorFactory): 
    37  """ Editor factory for code editors. 
    38  """ 

/usr/local/lib/python2.7/dist-packages/traitsui/editors/code_editor.py in ToolkitEditorFactory() 
    46 
    47  # Background color for marking lines 
---> 48  mark_color = Color(0xECE9D8) 
    49 
    50  # Object trait containing the currently selected line (optional) 

/usr/local/lib/python2.7/dist-packages/traits/traits.pyc in __call__(self, *args, **metadata) 
    520 
    521  def __call__ (self, *args, **metadata): 
--> 522   return self.maker_function(*args, **metadata) 
    523 
    524 class TraitImportError (TraitFactory): 

/usr/local/lib/python2.7/dist-packages/traits/traits.pyc in Color(*args, **metadata) 
    1234  from traitsui.toolkit_traits import ColorTrait 
    1235 
-> 1236  return ColorTrait(*args, **metadata) 
    1237 
    1238 Color = TraitFactory(Color) 

/usr/local/lib/python2.7/dist-packages/traitsui/toolkit_traits.pyc in ColorTrait(*args, **traits) 
     5 
     6 def ColorTrait (*args, **traits): 
----> 7  return toolkit().color_trait(*args, **traits) 
     8 
     9 def RGBColorTrait (*args, **traits): 

/usr/local/lib/python2.7/dist-packages/traitsui/toolkit.pyc in toolkit(*toolkits) 
    150  if ETSConfig.toolkit: 
    151   # If a toolkit has already been set for ETSConfig, then use it: 
--> 152   _toolkit = _import_toolkit(ETSConfig.toolkit) 
    153   return _toolkit 
    154  else: 

/usr/local/lib/python2.7/dist-packages/traitsui/toolkit.pyc in _import_toolkit(name) 
    81 
    82 def _import_toolkit (name): 
---> 83  return __import__(name, globals=globals(), level=1).toolkit 
    84 
    85 

/usr/local/lib/python2.7/dist-packages/traitsui/wx/__init__.py in <module>() 
    24 #------------------------------------------------------------------------------- 
    25 
---> 26 import toolkit 
    27 
    28 # Reference to the GUIToolkit object for wxPython 

/usr/local/lib/python2.7/dist-packages/traitsui/wx/toolkit.py in <module>() 
    56  import PythonDropTarget 
    57 
---> 58 from constants \ 
    59  import WindowColor, screen_dx, screen_dy 
    60 

/usr/local/lib/python2.7/dist-packages/traitsui/wx/constants.py in <module>() 
    59  BorderedGroupColor = wx.Colour(224, 224, 224) 
    60 else: 
---> 61  WindowColor = wx.SystemSettings_GetColour(wx.SYS_COLOUR_MENUBAR) 
    62 
    63 # Standard width of an image bitmap 

AttributeError: 'module' object has no attribute 'SystemSettings_GetColour' 

私はここに、更新されたパッケージ間の非互換性を疑うバージョンです:

Python 2.7.12 on Ubuntu 16.04 

traits==4.6.0 
traitsui==5.1.0 
wxPython==4.0.0b2 
wxPython-common==3.0.2.0 

と私はセット(端末では、Pythonに入る前に):

export ETS_TOOLKIT=wx 
+0

Python 2.7.12はwxpython 4.0.0b2用の間違ったpythonです。あなたはpython3.xを使用していないと確信していますか? –

+0

wxPython4ではPython 2.7が問題ありません。 – RobinDunn

+0

@RobinDunn明らかに間違っているので、私はこのコメントを削除するよう心がけました。しかし、他の人が同じ誤りを犯している場合には、私は無知を表示に残しておきます。 :( –

答えて

0

問題は、静的メソッドの "_"バージョンの削除であり、traitsuiはまだ完全に移行されていません。 https://docs.wxpython.org/MigrationGuide.html#static-methodsを参照してください。

+0

ロビンさん、本当に問題がどこにあるのかを正確に突き止めてくれてありがとうございました。悲しいことに、解決策は "traitsui"から来るはずです。 、traitsui、およびpython)この問題を避けることができますか? – acapet

関連する問題