Closed atolopko-czi closed 2 years ago
@MaximilianLombardo Linux packages (.rpm, .deb) and OS X (.pkg) are assumed, but is Windows on or off the table here?
Successfully used pyinstaller
to build a single-file executable for cellxgene desktop. So far, only tested launch
, and not annotate
command, which may require more troubleshooting (though unlikely, since MLflow takes on most of the complexity of model invocation).
We will need to build an executable for every supported OS platform and CPU architecture. Currently, only built & tested on OS X M1. This makes releases somewhat burdensome.
Pyinstaller does not create OS packages, e.g., .rpm, .deb, or .pkg. So that becomes another step in the release process, if desired. But if simply downloading an executable is sufficient, we may not require this level of installation convenience.
Minor code changes & build command in this PR.
Also required patches to "vendor" packages code anndata
and flatbuffers
to address python package dynamic import logics, which otherwise breaks the executable at run-time.
flatbuffers.compat.import_numpy
anndata/_metadata.py
Will need to address this complexity with a clean solution.Windows should be in-scope:
@MaximilianLombardo How much further do we want to take this, if at all? Trying to create a Windows exe? Building pkg/deb/rpm?
Saving work in progress so we can delete the branch: patch.txt
Determine options for providing a cross-platform app installer to allowing simper installation of CELLxGENE Annotate for users that are not familiar with Python and pip-based installation steps.