-
Notifications
You must be signed in to change notification settings - Fork 192
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
How to use Pyinstaller on UMI-tools and make it reproducible? #349
Comments
christianbioinf
added a commit
to christianbioinf/UMI-tools
that referenced
this issue
Aug 22, 2019
…ries (only true for python3.5+) in cases where the order of elements influences the results. Also updating test results to compensate for using dicts as ordered structures. Note that it is now not necessary to set the environment variable PYTHONHASHSEED anymore.
christianbioinf
added a commit
to christianbioinf/UMI-tools
that referenced
this issue
Aug 22, 2019
…ries (only true for python3.5+) in cases where the order of elements influences the results. Also updating test results to compensate for using dicts as ordered structures. Note that it is now not necessary to set the environment variable PYTHONHASHSEED anymore.
See #550 for an outstanding PR to make UMI-tools deterministic |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Hi,
I was stumbling on an issue of using UMI-tools together with the generation of standalone (one-file) executable using pyinstaller. I use it to being able to distribute UMI-tools more easily to machines with same architecture but I noticed that the output was not reproducible anymore even if setting the
--random-seed
option. It seems that it is related toPYTHONHASHSEED
since when using UMI-tools normally (e.g. from a virtualenv), setting this made it reproducible.This is how I first installed UMI-tools (using python3.6 but I guess it is the same with other version of python3) and used it to run functional tests.
=> All 53 test were successful
My procedure to build a one-file executable for UMI-tools with pystaller, including a patch to circumvent an issue with Tcl/Tk libraries on OSX (pyinstaller/pyinstaller#3753) and also run the functional tests.
=>17 of 53 tests failed
To fix this I tried to set
PYTHONHASHSEED
explicitly in the modules (e.g. inumi_tools/umi_tools.py
) or created a run-time hook that simply sets this environment variable but this also did not work. Maybe it is related to the way, I am creating the one-file executable but adding all python source files and the one c file as data was the only way I was successful in generating a functional one-file executable.Just for completion, I am using Python 3.6.7 and umi_tools (e8c2b47) on Mac OSX.
Best regards,
Christian
The text was updated successfully, but these errors were encountered: