-
Notifications
You must be signed in to change notification settings - Fork 138
TypeError: can't pickle cairo.Matrix objects #116
Comments
Hi @idlethread, are you using any multiprocessing in the example? Can you share the script you are runnnig? |
No multiprocessing. Script is effectively as follows. What I found suspicious was the change in SHA: 2601ae8 was exactly the line I see the bug.
|
@phsilva Here is an easier way to reproduce, at least on my 19.10 Ubuntu machine:
|
@hamiltonkibbe @phsilva any suggestions on how to debug this? Reverting 2601ae8 make it work without the error but I do see a reversed layer. |
It seems like
To solve your problem, make sure you don't have pycairo installed. A better solution would be to make the |
Hi Ingo, Thanks for your reply. With cairoffi, I see the following:
With cairo, I see the following:
I'm afraid I'm not too well versed in the nuances of these two libraries. Regards, |
Any solutions ? |
@idlethread i forked and patched this. works! thanks for the prompt response! |
As an alternative to patching you could also try to coerce the usage of the cairo version that works using dependency managent. |
@ingobecker How does one do that? See the output I get in #116 (comment) |
Since this package is in auto mode, the fork and self patch path is more stable on the long run. Code changing or version_requirements updating are both options then. |
I guess the problem is this line here which prefers |
In other words, it looks like you have a version of |
I'm using the library to render a png but I see the following error. It seems to be on the exact line that was changed in SHA: 2601ae8. Any hints on what this means?
File "/home/idle/.local/lib/python3.7/site-packages/pcb_tools-0.1-py3.7.egg/gerber/render/cairo_backend.py", line 130, in render_layers
File "/home/idle/.local/lib/python3.7/site-packages/pcb_tools-0.1-py3.7.egg/gerber/render/cairo_backend.py", line 98, in render_layer
File "/home/idle/.local/lib/python3.7/site-packages/pcb_tools-0.1-py3.7.egg/gerber/render/cairo_backend.py", line 196, in _render_layer
File "/home/idle/.local/lib/python3.7/site-packages/pcb_tools-0.1-py3.7.egg/gerber/render/cairo_backend.py", line 535, in new_render_layer
File "/usr/lib/python3.7/copy.py", line 96, in copy
rv = reductor(4)
TypeError: can't pickle cairo.Matrix objects
The text was updated successfully, but these errors were encountered: