-
Notifications
You must be signed in to change notification settings - Fork 371
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
Perhaps call multiprocessing.set-executable
at startup
#1786
Comments
This issue also affects dask distributed when trying to start a LocalCluster (tested on hy 0.17.0+78.g645d2e0)
However, if you select a real python executable with
|
I can't recreate the issue with |
Nope, I no longer see that error from importing |
since dask still crashes because, and i'm sure other python packages that use multiprocessing extensively, maybe we should set multiprocessing to |
It looks like Hy saves the original value of |
Please provide a reproducible example. Regarding "the new process tries to parse the original file containing the Hy code", that sounds like Windows Python's emulation of |
An updated example looks like this:
If I run this with Hy master, I get
works fine, without |
As mentioned elsewhere, rightly or wrongly, runnng
hy
setssys.executable
to the Hy startup script rather than the underlying Python executable. One surprising consequence of this is that importingsklearn
, for example, yields the messagefrom a child process, and then leaves that child as a zombie. The error is from a scikit-learn dependency, joblib, which tries to call
/usr/local/bin/hy -c 'from multiprocessing.semaphore_tracker import main;main(3)'
when it's imported.One can avoid this problem by calling
multiprocessing.set_executable
to select a real Python executable, so perhaps Hy itself should do this.The text was updated successfully, but these errors were encountered: