$ python test.py
C: 2+2=4
Traceback (most recent call last):
File "/home/sjwhitak/test.py", line 16, in <module>
c_res_prl = pool.map(c_add, x, y) # fails
File "/home/sjwhitak/.conda/envs/test/lib/python3.13/site-packages/pathos/multiprocessing.py", line 154, in map
return _pool.map(star(f), zip(*args), **kwds)
~~~~~~~~~^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "/home/sjwhitak/.conda/envs/test/lib/python3.13/site-packages/multiprocess/pool.py", line 367, in map
return self._map_async(func, iterable, mapstar, chunksize).get()
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^^
File "/home/sjwhitak/.conda/envs/test/lib/python3.13/site-packages/multiprocess/pool.py", line 774, in get
raise self._value
File "/home/sjwhitak/.conda/envs/test/lib/python3.13/site-packages/multiprocess/pool.py", line 540, in _handle_tasks
put(task)
~~~^^^^^^
File "/home/sjwhitak/.conda/envs/test/lib/python3.13/site-packages/multiprocess/connection.py", line 209, in send
self._send_bytes(_ForkingPickler.dumps(obj))
~~~~~~~~~~~~~~~~~~~~~^^^^^
File "/home/sjwhitak/.conda/envs/test/lib/python3.13/site-packages/multiprocess/reduction.py", line 54, in dumps
cls(buf, protocol, *args, **kwds).dump(obj)
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^^^^^
File "/home/sjwhitak/.conda/envs/test/lib/python3.13/site-packages/dill/_dill.py", line 428, in dump
StockPickler.dump(self, obj)
~~~~~~~~~~~~~~~~~^^^^^^^^^^^
File "/home/sjwhitak/.conda/envs/test/lib/python3.13/pickle.py", line 484, in dump
self.save(obj)
~~~~~~~~~^^^^^
File "/home/sjwhitak/.conda/envs/test/lib/python3.13/site-packages/dill/_dill.py", line 422, in save
StockPickler.save(self, obj, save_persistent_id)
~~~~~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "/home/sjwhitak/.conda/envs/test/lib/python3.13/pickle.py", line 558, in save
f(self, obj) # Call unbound method with explicit self
~^^^^^^^^^^^
File "/home/sjwhitak/.conda/envs/test/lib/python3.13/pickle.py", line 920, in save_tuple
save(element)
~~~~^^^^^^^^^
File "/home/sjwhitak/.conda/envs/test/lib/python3.13/site-packages/dill/_dill.py", line 422, in save
StockPickler.save(self, obj, save_persistent_id)
~~~~~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "/home/sjwhitak/.conda/envs/test/lib/python3.13/pickle.py", line 558, in save
f(self, obj) # Call unbound method with explicit self
~^^^^^^^^^^^
File "/home/sjwhitak/.conda/envs/test/lib/python3.13/pickle.py", line 905, in save_tuple
save(element)
~~~~^^^^^^^^^
File "/home/sjwhitak/.conda/envs/test/lib/python3.13/site-packages/dill/_dill.py", line 422, in save
StockPickler.save(self, obj, save_persistent_id)
~~~~~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "/home/sjwhitak/.conda/envs/test/lib/python3.13/pickle.py", line 558, in save
f(self, obj) # Call unbound method with explicit self
~^^^^^^^^^^^
File "/home/sjwhitak/.conda/envs/test/lib/python3.13/pickle.py", line 905, in save_tuple
save(element)
~~~~^^^^^^^^^
File "/home/sjwhitak/.conda/envs/test/lib/python3.13/site-packages/dill/_dill.py", line 422, in save
StockPickler.save(self, obj, save_persistent_id)
~~~~~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "/home/sjwhitak/.conda/envs/test/lib/python3.13/pickle.py", line 558, in save
f(self, obj) # Call unbound method with explicit self
~^^^^^^^^^^^
File "/home/sjwhitak/.conda/envs/test/lib/python3.13/site-packages/dill/_dill.py", line 2013, in save_function
_save_with_postproc(pickler, (_create_function, (
~~~~~~~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
obj.__code__, globs, obj.__name__, obj.__defaults__,
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
closure
^^^^^^^
), state), obj=obj, postproc_list=postproc_list)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "/home/sjwhitak/.conda/envs/test/lib/python3.13/site-packages/dill/_dill.py", line 1133, in _save_with_postproc
pickler.save_reduce(*reduction)
~~~~~~~~~~~~~~~~~~~^^^^^^^^^^^^
File "/home/sjwhitak/.conda/envs/test/lib/python3.13/pickle.py", line 690, in save_reduce
save(args)
~~~~^^^^^^
File "/home/sjwhitak/.conda/envs/test/lib/python3.13/site-packages/dill/_dill.py", line 422, in save
StockPickler.save(self, obj, save_persistent_id)
~~~~~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "/home/sjwhitak/.conda/envs/test/lib/python3.13/pickle.py", line 558, in save
f(self, obj) # Call unbound method with explicit self
~^^^^^^^^^^^
File "/home/sjwhitak/.conda/envs/test/lib/python3.13/pickle.py", line 905, in save_tuple
save(element)
~~~~^^^^^^^^^
File "/home/sjwhitak/.conda/envs/test/lib/python3.13/site-packages/dill/_dill.py", line 422, in save
StockPickler.save(self, obj, save_persistent_id)
~~~~~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "/home/sjwhitak/.conda/envs/test/lib/python3.13/pickle.py", line 576, in save
rv = reduce(self.proto)
ValueError: ctypes objects containing pointers cannot be pickled
conda create -n test python=3.13.2
pip install pathos
C code:
The C code is compiled with:
Python code:
The output is:
My environment was a fresh setup:
This creates the following from
pip list: