-
-
Notifications
You must be signed in to change notification settings - Fork 178
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
dill can't pickle functions wrapped with ipythons @require #9
Comments
ipython has some hacks on pickle. I'd guess that |
Pinging @minrk. Hey Ben do you have any idea what could be the issue here? |
@roryk: Looks like from the traceback, we are hitting something that didn't get stuffed into pickle's registry... so that makes me think that either (1) I've missed adding some of my recent additions to the pickle registry, or (2) BTW, I never really looked at ipython-cluster-helper, but there looks like some similar stuff in my |
|
Thanks for the link. Dude... that's not really very simple. Setting |
@mmckerns Thanks for the followup Mike; this is from IPython 1.1.0. I poked around a little bit more but haven't made any progress. I found another edge case where dill is not happy even without using I agree Thanks for jumping in @minrk, you are like Beetlejuice, say your name a couple of times and poof. I'd hate to see your inbox. |
@roryk: Do please send me any of your failure cases for dill you find. I appreciate the feedback, bug reports, etc. I agree about |
Hi Mike, Sweet, it is awesome you are banging on this. Just wanted to a) give a heads up that the same IPython issue exists with the more robust pickling since it was tagged as being maybe-related and b) ping here so you know I'm still interested. :) |
@roryk: I haven't forgotten about either. After a full month of travel, workshops, etc... I'm back into it. The goal is to keep converting packages to python 3x and to keep rolling out the releases. I'm pretty near final on As far as this particular issue is concerned (with
However, without the last line, it can't -- unless you do this:
This (figuring out the correct name for deceptively named objects) and making iterators pickle are my two next big targets for dill. If the |
@roryk: I've added a patch for some similar in-decorator stuff. It might apply… I can serialize If you have a chance, can you spin up your test again, and let me know if it passes or fails? Otherwise, I'll get to it as I start getting into some of |
I just tested it with
|
works for |
If you have a function like this:
@require("module_name")
def require_test(x):
return True
And you try to use IPython parallel's parallel map, you get this error:
But if you just use the regular pickle, it works fine. I have a minimal example here:
https://github.com/roryk/ipython-cluster-helper/blob/master/example/example.py
Do you have any thoughts about why? I dug around a bunch but quickly got out of my depth. :)
The text was updated successfully, but these errors were encountered: