Open ammondenno opened 1 year ago
i am having the same issue on windows
Looks like the same issue for me. Win11 23H2 build 22631.3155 Krita 5.2.2 Automatic1111 v1.7.0 Python 3.10.11
Same issue for me. Windows 10 Home 22H2 Krita 5.2.2 Automatic1111 v1.8.0 Python 3.10.7
I believe this is caused by a formatting error in krita_diff_plugin_scripts.ini
Combobox dropdown lists are being stored as [[\"left\", \"left\"], [\"right\", \"right\"], [\"up\", \"up\"], [\"down\", \"down\"]]
In python, this is a list of lists, which is bad for reasons.
What they should be getting stored as is [{\"left\", \"left\"}, {\"right\", \"right\"}, {\"up\", \"up\"}, {\"down\", \"down\"}]
In python, this is a list of tuples, which is fine for reasons.
Attached is a edited krita_diff_plugin_scripts.ini that will allow people encountering this issue to at least launch Krita. (rename to .ini and replace the file in AppData\Roaming\krita) krita_diff_plugin_scripts.txt
Unfortunately, this is not a permanent solution, as each time Krita closes it will save the current state of the plugin and return all combo box lists to the broken format.
Hello, i have installed krita extension to A1111, follow the process the link krita extension to the krita desktop app. everything looks fine on A1111 side : i have no message error on launch in the terminal. When i try to launch the krita app on my desk i have 3 error messages boxes. I have to close the first one, to see the second and close it to see the third. Here are the messages
1 message : TypeError Python 3.10.7: /Applications/krita.app/Contents/MacOS/krita
A problem occurred in a Python script. Here is the sequence of function calls leading up to the error, in the order they occurred.
/Applications/krita.app/Contents/Frameworks/krita-python-libs/krita/dockwidgetfactory.py in createDockWidget(self=)
14 super(DockWidgetFactory, self).init(_id, _dockPosition)
15 self.klass = _klass
16
17 def createDockWidget(self):
18 return self.klass()
self =
self.klass = <class 'krita_diff.docker.create_docker..Docker'>
/Users/deno/Library/Application Support/krita/pykrita/krita_diff/docker.py in init(self=<krita_diff.docker.create_docker..Docker object>, *args=(), **kwargs={})
11 self.setWindowTitle(page.name)
12 self.create_interface()
13 self.update_interface()
14 self.connect_interface()
15 self.setWidget(self.widget)
self = <krita_diff.docker.create_docker..Docker object>
self.update_interface = <bound method create_docker..Docker.upda...iff.docker.create_docker..Docker object>>
/Users/deno/Library/Application Support/krita/pykrita/krita_diff/docker.py in update_interface(self=<krita_diff.docker.create_docker..Docker object>)
23
24 def update_interface(self):
25 self.page_widget.cfg_init()
26
27 def connect_interface(self):
self = <krita_diff.docker.create_docker..Docker object>
self.page_widget =
self.page_widget.cfg_init = <bound method Img2ImgPage.cfg_init of >
/Users/deno/Library/Application Support/krita/pykrita/krita_diff/pages/img2img.py in cfg_init(self=)
23
24 def cfg_init(self):
25 super(Img2ImgPage, self).cfg_init()
26
27 self.tips.setVisible(not script.cfg("minimize_ui", bool))
builtinsuper = <class 'super'>
global Img2ImgPage = <class 'krita_diff.pages.img2img.Img2ImgPage'>
self =
).cfg_init = <bound method Img2ImgPage.cfg_init of >
/Users/deno/Library/Application Support/krita/pykrita/krita_diff/pages/img_base.py in cfg_init(self=)
71
72 def cfg_init(self):
73 self.ext_layout.cfg_init()
74 self.prompt_layout.cfg_init()
75 self.seed_layout.cfg_init()
self =
self.ext_layout =
self.ext_layout.cfg_init = <bound method ExtSectionLayout.cfg_init of >
/Users/deno/Library/Application Support/krita/pykrita/krita_diff/pages/extension.py in cfg_init(self=)
116 self.dropdown.cfg_init()
117 if set(self.ext_names()) != set(self.ext_widgets.keys()):
118 self._init_ext_widgets()
119 for widget in self.ext_widgets.values():
120 widget.cfg_init()
self =
self._init_ext_widgets = >
/Users/deno/Library/Application Support/krita/pykrita/krita_diff/pages/extension.py in _init_ext_widgets(self=)
107 self._clear_ext_widgets()
108 for ext_name in self.ext_names():
109 widget = ExtWidget(script.ext_cfg, self.ext_type, ext_name)
110 widget.setVisible(False)
111 self.addWidget(widget)
widget =
global ExtWidget = <class 'krita_diff.pages.extension.ExtWidget'>
global script =
script.ext_cfg =
self =
self.ext_type = 'scripts_img2img'
ext_name = 'Outpainting mk2'
/Users/deno/Library/Application Support/krita/pykrita/krita_diff/pages/extension.py in init(self=, ext_cfg=, ext_type='scripts_img2img', ext_name='Outpainting mk2', *args=(), **kwargs={})
57 w = QCheckBox(ext_cfg, k, o["label"])
58 elif o["type"] == "multiselect":
59 w = QMultiCheckBoxLayout(ext_cfg, o["opts"], k, o["label"])
60 else:
61 continue
w = None
global QMultiCheckBoxLayout = <class 'krita_diff.widgets.checkbox.QMultiCheckBoxLayout'>
ext_cfg =
o = {'is_index': False, 'label': 'Outpainting direction', 'opts': [['left', 'left'], ['right', 'right'], ['up', 'up'], ['down', 'down']], 'type': 'multiselect', 'val': ['left', 'right', 'up', 'down']}
k = 'scripts_img2img_outpaintingmk2_3'
/Users/deno/Library/Application Support/krita/pykrita/krita_diff/widgets/checkbox.py in init(self=, cfg=, options_cfg=[['left', 'left'], ['right', 'right'], ['up', 'up'], ['down', 'down']], selected_cfg='scripts_img2img_outpaintingmk2_3', label='Outpainting direction', *args=(), **kwargs={})
61 self.qcheckboxes = []
62 for opt in self.options_cfg:
63 checkbox = _QCheckBox(opt)
64 self.qcheckboxes.append(checkbox)
65 self.row.addWidget(checkbox)
checkbox undefined
global _QCheckBox = <class 'PyQt5.QtWidgets.QCheckBox'>
opt = ['left', 'left']
TypeError: arguments did not match any overloaded call:
QCheckBox(parent: typing.Optional[QWidget] = None): argument 1 has unexpected type 'list'
QCheckBox(text: str, parent: typing.Optional[QWidget] = None): argument 1 has unexpected type 'list'
cause = None
class = <class 'TypeError'>
context = None
delattr = <method-wrapper 'delattr' of TypeError object>
dict = {}
dir =
doc = 'Inappropriate argument type.'
eq = <method-wrapper 'eq' of TypeError object>
format =
ge = <method-wrapper 'ge' of TypeError object>
getattribute = <method-wrapper 'getattribute' of TypeError object>
gt = <method-wrapper 'gt' of TypeError object>
hash = <method-wrapper 'hash' of TypeError object>
init = <method-wrapper 'init' of TypeError object>
init_subclass = <built-in method init_subclass of type object>
le = <method-wrapper 'le' of TypeError object>
lt = <method-wrapper 'lt' of TypeError object>
ne = <method-wrapper 'ne' of TypeError object>
new =
reduce =
reduce_ex = <built-in method reduce_ex of TypeError object>
repr = <method-wrapper 'repr' of TypeError object>
setattr = <method-wrapper 'setattr' of TypeError object>
setstate =
sizeof =
str = <method-wrapper 'str' of TypeError object>
subclasshook =
__suppress_context = False
traceback__ =
args = ("arguments did not match any overloaded call:\n Q...t] = None): argument 1 has unexpected type 'list'",)
with_traceback =
The above is a description of an error in a Python program. Here is the original traceback:
Traceback (most recent call last): File "/Applications/krita.app/Contents/Frameworks/krita-python-libs/krita/dockwidgetfactory.py", line 18, in createDockWidget return self.klass() File "/Users/deno/Library/Application Support/krita/pykrita/krita_diff/docker.py", line 13, in init self.update_interface() File "/Users/deno/Library/Application Support/krita/pykrita/krita_diff/docker.py", line 25, in update_interface self.page_widget.cfg_init() File "/Users/deno/Library/Application Support/krita/pykrita/krita_diff/pages/img2img.py", line 25, in cfg_init super(Img2ImgPage, self).cfg_init() File "/Users/deno/Library/Application Support/krita/pykrita/krita_diff/pages/img_base.py", line 73, in cfg_init self.ext_layout.cfg_init() File "/Users/deno/Library/Application Support/krita/pykrita/krita_diff/pages/extension.py", line 118, in cfg_init self._init_ext_widgets() File "/Users/deno/Library/Application Support/krita/pykrita/krita_diff/pages/extension.py", line 109, in _init_ext_widgets widget = ExtWidget(script.ext_cfg, self.ext_type, ext_name) File "/Users/deno/Library/Application Support/krita/pykrita/krita_diff/pages/extension.py", line 59, in init w = QMultiCheckBoxLayout(ext_cfg, o["opts"], k, o["label"]) File "/Users/deno/Library/Application Support/krita/pykrita/krita_diff/widgets/checkbox.py", line 63, in init checkbox = _QCheckBox(opt) TypeError: arguments did not match any overloaded call: QCheckBox(parent: typing.Optional[QWidget] = None): argument 1 has unexpected type 'list' QCheckBox(text: str, parent: typing.Optional[QWidget] = None): argument 1 has unexpected type 'list'
2nd message : TypeError: unhashable type: 'list'
TypeError Python 3.10.7: /Applications/krita.app/Contents/MacOS/krita Mon Sep 25 17:29:39 2023
A problem occurred in a Python script. Here is the sequence of function calls leading up to the error, in the order they occurred.
/Applications/krita.app/Contents/Frameworks/krita-python-libs/krita/dockwidgetfactory.py in createDockWidget(self=)
14 super(DockWidgetFactory, self).init(_id, _dockPosition)
15 self.klass = _klass
16
17 def createDockWidget(self):
18 return self.klass()
self =
self.klass = <class 'krita_diff.docker.create_docker..Docker'>
/Users/deno/Library/Application Support/krita/pykrita/krita_diff/docker.py in init(self=<krita_diff.docker.create_docker..Docker object>, *args=(), **kwargs={})
11 self.setWindowTitle(page.name)
12 self.create_interface()
13 self.update_interface()
14 self.connect_interface()
15 self.setWidget(self.widget)
self = <krita_diff.docker.create_docker..Docker object>
self.update_interface = <bound method create_docker..Docker.upda...iff.docker.create_docker..Docker object>>
/Users/deno/Library/Application Support/krita/pykrita/krita_diff/docker.py in update_interface(self=<krita_diff.docker.create_docker..Docker object>)
23
24 def update_interface(self):
25 self.page_widget.cfg_init()
26
27 def connect_interface(self):
self = <krita_diff.docker.create_docker..Docker object>
self.page_widget =
self.page_widget.cfg_init = <bound method Txt2ImgPage.cfg_init of >
/Users/deno/Library/Application Support/krita/pykrita/krita_diff/pages/txt2img.py in cfg_init(self=)
30
31 def cfg_init(self):
32 super(Txt2ImgPage, self).cfg_init()
33 self.highres.cfg_init()
34
builtinsuper = <class 'super'>
global Txt2ImgPage = <class 'krita_diff.pages.txt2img.Txt2ImgPage'>
self =
).cfg_init = <bound method Txt2ImgPage.cfg_init of >
/Users/deno/Library/Application Support/krita/pykrita/krita_diff/pages/img_base.py in cfg_init(self=)
71
72 def cfg_init(self):
73 self.ext_layout.cfg_init()
74 self.prompt_layout.cfg_init()
75 self.seed_layout.cfg_init()
self =
self.ext_layout =
self.ext_layout.cfg_init = <bound method ExtSectionLayout.cfg_init of >
/Users/deno/Library/Application Support/krita/pykrita/krita_diff/pages/extension.py in cfg_init(self=)
118 self._init_ext_widgets()
119 for widget in self.ext_widgets.values():
120 widget.cfg_init()
121
122 def cfg_connect(self):
widget =
widget.cfg_init = <bound method ExtWidget.cfg_init of >
/Users/deno/Library/Application Support/krita/pykrita/krita_diff/pages/extension.py in cfg_init(self=)
69 def cfg_init(self):
70 for w in self.widgets:
71 w.cfg_init()
72
73 def cfg_connect(self):
w =
w.cfg_init = <bound method QComboBoxLayout.cfg_init of >
/Users/deno/Library/Application Support/krita/pykrita/krita_diff/widgets/combo_box.py in cfg_init(self=)
68 def cfg_init(self):
69 opts = sorted(
70 set(
71 self.cfg(self.options_cfg, "QStringList")
72 if isinstance(self.options_cfg, str)
builtinset = <class 'set'>
self =
self.cfg =
self.options_cfg = [['positive', 'positive'], ['negative', 'negative']]
builtinisinstance =
builtinstr = <class 'str'>
TypeError: unhashable type: 'list'
cause = None
class = <class 'TypeError'>
context = None
delattr = <method-wrapper 'delattr' of TypeError object>
dict = {}
dir =
doc = 'Inappropriate argument type.'
eq = <method-wrapper 'eq' of TypeError object>
format =
ge = <method-wrapper 'ge' of TypeError object>
getattribute = <method-wrapper 'getattribute' of TypeError object>
gt = <method-wrapper 'gt' of TypeError object>
hash = <method-wrapper 'hash' of TypeError object>
init = <method-wrapper 'init' of TypeError object>
init_subclass = <built-in method init_subclass of type object>
le = <method-wrapper 'le' of TypeError object>
lt = <method-wrapper 'lt' of TypeError object>
ne = <method-wrapper 'ne' of TypeError object>
new =
reduce =
reduce_ex = <built-in method reduce_ex of TypeError object>
repr = <method-wrapper 'repr' of TypeError object>
setattr = <method-wrapper 'setattr' of TypeError object>
setstate =
sizeof =
str = <method-wrapper 'str' of TypeError object>
subclasshook =
__suppress_context = False
traceback__ =
args = ("unhashable type: 'list'",)
with_traceback =
The above is a description of an error in a Python program. Here is the original traceback:
Traceback (most recent call last): File "/Applications/krita.app/Contents/Frameworks/krita-python-libs/krita/dockwidgetfactory.py", line 18, in createDockWidget return self.klass() File "/Users/deno/Library/Application Support/krita/pykrita/krita_diff/docker.py", line 13, in init self.update_interface() File "/Users/deno/Library/Application Support/krita/pykrita/krita_diff/docker.py", line 25, in update_interface self.page_widget.cfg_init() File "/Users/deno/Library/Application Support/krita/pykrita/krita_diff/pages/txt2img.py", line 32, in cfg_init super(Txt2ImgPage, self).cfg_init() File "/Users/deno/Library/Application Support/krita/pykrita/krita_diff/pages/img_base.py", line 73, in cfg_init self.ext_layout.cfg_init() File "/Users/deno/Library/Application Support/krita/pykrita/krita_diff/pages/extension.py", line 120, in cfg_init widget.cfg_init() File "/Users/deno/Library/Application Support/krita/pykrita/krita_diff/pages/extension.py", line 71, in cfg_init w.cfg_init() File "/Users/deno/Library/Application Support/krita/pykrita/krita_diff/widgets/combo_box.py", line 70, in cfg_init set( TypeError: unhashable type: 'list'
Third message : 3rd error :
TypeError: arguments did not match any overloaded call: QCheckBox(parent: typing.Optional[QWidget] = None): argument 1 has unexpected type 'list' QCheckBox(text: str, parent: typing.Optional[QWidget] = None): argument 1 has unexpected type 'list'
TypeError Python 3.10.7: /Applications/krita.app/Contents/MacOS/krita Mon Sep 25 17:31:17 2023
A problem occurred in a Python script. Here is the sequence of function calls leading up to the error, in the order they occurred.
/Applications/krita.app/Contents/Frameworks/krita-python-libs/krita/dockwidgetfactory.py in createDockWidget(self=)
14 super(DockWidgetFactory, self).init(_id, _dockPosition)
15 self.klass = _klass
16
17 def createDockWidget(self):
18 return self.klass()
self =
self.klass = <class 'krita_diff.docker.create_docker..Docker'>
/Users/deno/Library/Application Support/krita/pykrita/krita_diff/docker.py in init(self=<krita_diff.docker.create_docker..Docker object>, *args=(), **kwargs={})
11 self.setWindowTitle(page.name)
12 self.create_interface()
13 self.update_interface()
14 self.connect_interface()
15 self.setWidget(self.widget)
self = <krita_diff.docker.create_docker..Docker object>
self.update_interface = <bound method create_docker..Docker.upda...iff.docker.create_docker..Docker object>>
/Users/deno/Library/Application Support/krita/pykrita/krita_diff/docker.py in update_interface(self=<krita_diff.docker.create_docker..Docker object>)
23
24 def update_interface(self):
25 self.page_widget.cfg_init()
26
27 def connect_interface(self):
self = <krita_diff.docker.create_docker..Docker object>
self.page_widget =
self.page_widget.cfg_init = <bound method InpaintPage.cfg_init of >
/Users/deno/Library/Application Support/krita/pykrita/krita_diff/pages/inpaint.py in cfg_init(self=)
67
68 def cfg_init(self):
69 super(InpaintPage, self).cfg_init()
70 # self.mask_blur_layout.cfg_init()
71 self.fill_layout.cfg_init()
builtinsuper = <class 'super'>
global InpaintPage = <class 'krita_diff.pages.inpaint.InpaintPage'>
self =
).cfg_init = <bound method InpaintPage.cfg_init of >
/Users/deno/Library/Application Support/krita/pykrita/krita_diff/pages/img_base.py in cfg_init(self=)
71
72 def cfg_init(self):
73 self.ext_layout.cfg_init()
74 self.prompt_layout.cfg_init()
75 self.seed_layout.cfg_init()
self =
self.ext_layout =
self.ext_layout.cfg_init = <bound method ExtSectionLayout.cfg_init of >
/Users/deno/Library/Application Support/krita/pykrita/krita_diff/pages/extension.py in cfg_init(self=)
116 self.dropdown.cfg_init()
117 if set(self.ext_names()) != set(self.ext_widgets.keys()):
118 self._init_ext_widgets()
119 for widget in self.ext_widgets.values():
120 widget.cfg_init()
self =
self._init_ext_widgets = >
/Users/deno/Library/Application Support/krita/pykrita/krita_diff/pages/extension.py in _init_ext_widgets(self=)
107 self._clear_ext_widgets()
108 for ext_name in self.ext_names():
109 widget = ExtWidget(script.ext_cfg, self.ext_type, ext_name)
110 widget.setVisible(False)
111 self.addWidget(widget)
widget =
global ExtWidget = <class 'krita_diff.pages.extension.ExtWidget'>
global script =
script.ext_cfg =
self =
self.ext_type = 'scripts_inpaint'
ext_name = 'Outpainting mk2'
/Users/deno/Library/Application Support/krita/pykrita/krita_diff/pages/extension.py in init(self=, ext_cfg=, ext_type='scripts_inpaint', ext_name='Outpainting mk2', *args=(), **kwargs={})
57 w = QCheckBox(ext_cfg, k, o["label"])
58 elif o["type"] == "multiselect":
59 w = QMultiCheckBoxLayout(ext_cfg, o["opts"], k, o["label"])
60 else:
61 continue
w = None
global QMultiCheckBoxLayout = <class 'krita_diff.widgets.checkbox.QMultiCheckBoxLayout'>
ext_cfg =
o = {'is_index': False, 'label': 'Outpainting direction', 'opts': [['left', 'left'], ['right', 'right'], ['up', 'up'], ['down', 'down']], 'type': 'multiselect', 'val': ['left', 'right', 'up', 'down']}
k = 'scripts_inpaint_outpaintingmk2_3'
/Users/deno/Library/Application Support/krita/pykrita/krita_diff/widgets/checkbox.py in init(self=, cfg=, options_cfg=[['left', 'left'], ['right', 'right'], ['up', 'up'], ['down', 'down']], selected_cfg='scripts_inpaint_outpaintingmk2_3', label='Outpainting direction', *args=(), **kwargs={})
61 self.qcheckboxes = []
62 for opt in self.options_cfg:
63 checkbox = _QCheckBox(opt)
64 self.qcheckboxes.append(checkbox)
65 self.row.addWidget(checkbox)
checkbox undefined
global _QCheckBox = <class 'PyQt5.QtWidgets.QCheckBox'>
opt = ['left', 'left']
TypeError: arguments did not match any overloaded call:
QCheckBox(parent: typing.Optional[QWidget] = None): argument 1 has unexpected type 'list'
QCheckBox(text: str, parent: typing.Optional[QWidget] = None): argument 1 has unexpected type 'list'
cause = None
class = <class 'TypeError'>
context = None
delattr = <method-wrapper 'delattr' of TypeError object>
dict = {}
dir =
doc = 'Inappropriate argument type.'
eq = <method-wrapper 'eq' of TypeError object>
format =
ge = <method-wrapper 'ge' of TypeError object>
getattribute = <method-wrapper 'getattribute' of TypeError object>
gt = <method-wrapper 'gt' of TypeError object>
hash = <method-wrapper 'hash' of TypeError object>
init = <method-wrapper 'init' of TypeError object>
init_subclass = <built-in method init_subclass of type object>
le = <method-wrapper 'le' of TypeError object>
lt = <method-wrapper 'lt' of TypeError object>
ne = <method-wrapper 'ne' of TypeError object>
new =
reduce =
reduce_ex = <built-in method reduce_ex of TypeError object>
repr = <method-wrapper 'repr' of TypeError object>
setattr = <method-wrapper 'setattr' of TypeError object>
setstate =
sizeof =
str = <method-wrapper 'str' of TypeError object>
subclasshook =
__suppress_context = False
traceback__ =
args = ("arguments did not match any overloaded call:\n Q...t] = None): argument 1 has unexpected type 'list'",)
with_traceback =
The above is a description of an error in a Python program. Here is the original traceback:
Traceback (most recent call last): File "/Applications/krita.app/Contents/Frameworks/krita-python-libs/krita/dockwidgetfactory.py", line 18, in createDockWidget return self.klass() File "/Users/deno/Library/Application Support/krita/pykrita/krita_diff/docker.py", line 13, in init self.update_interface() File "/Users/deno/Library/Application Support/krita/pykrita/krita_diff/docker.py", line 25, in update_interface self.page_widget.cfg_init() File "/Users/deno/Library/Application Support/krita/pykrita/krita_diff/pages/inpaint.py", line 69, in cfg_init super(InpaintPage, self).cfg_init() File "/Users/deno/Library/Application Support/krita/pykrita/krita_diff/pages/img_base.py", line 73, in cfg_init self.ext_layout.cfg_init() File "/Users/deno/Library/Application Support/krita/pykrita/krita_diff/pages/extension.py", line 118, in cfg_init self._init_ext_widgets() File "/Users/deno/Library/Application Support/krita/pykrita/krita_diff/pages/extension.py", line 109, in _init_ext_widgets widget = ExtWidget(script.ext_cfg, self.ext_type, ext_name) File "/Users/deno/Library/Application Support/krita/pykrita/krita_diff/pages/extension.py", line 59, in init w = QMultiCheckBoxLayout(ext_cfg, o["opts"], k, o["label"]) File "/Users/deno/Library/Application Support/krita/pykrita/krita_diff/widgets/checkbox.py", line 63, in init checkbox = _QCheckBox(opt) TypeError: arguments did not match any overloaded call: QCheckBox(parent: typing.Optional[QWidget] = None): argument 1 has unexpected type 'list' QCheckBox(text: str, parent: typing.Optional[QWidget] = None): argument 1 has unexpected type 'list'
config : Mac book pro M1, osx 13.6, Krita 5.2.
can someone help ?