0

I had a python 3 script working great when running on Raspbian. I moved it to my Windows machine and downloaded all the necessary packages but I get a ValueError now:

ValueError: ctypes objects containing pointers cannot be pickled

The traceback shows the last line from my code that is called before the error is a start() to a multiprocessing process that reads a serial port. The process only takes a multiprocessing Queue as an argument so the function can relay back what is on the serial line. I'm thinking that's not the problem. The only thing I can figure is that the output into the queue from the process is a namedtuple. Is a namedtuple considered a ctype that can't be pickled?

But why would it work on Raspbian and not Windows?

linus72982
  • 1,418
  • 2
  • 16
  • 31
  • the implementation of multiprocessing on Linux is *vastly* different from that on Windows, they're so different that I'd rather be surprised if code that was only tested in Raspbian, would work in Windows right away. – Antti Haapala -- Слава Україні Aug 21 '16 at 22:43
  • Try to reduce the code to a small program that reproduces the error (see [MCVE](http://stackoverflow.com/help/mcve)); otherwise, this question is too broad. – Mark Tolonen Aug 22 '16 at 00:52

0 Answers0