haesleinhuepf / devbio-napari

BSD 3-Clause "New" or "Revised" License
43 stars 13 forks source link

Constuct installer #31

Open haesleinhuepf opened 2 years ago

haesleinhuepf commented 2 years ago

Generating an installer is shockingly easy.

image

We need to figure out though how we can add a link to the [windows] start menu, e.g. to

path/to/installed-devbio-napari/python -m naparia

... to start napari with the assistant.

closes #30

NicoKiaru commented 1 year ago

I've made a post_install script to make shortcuts. It's windows only and probably a bit hacky. But here it is in case it's useful:

https://github.com/NicoKiaru/ABBA-Python/blob/dev/constructor/post_install_win.bat

ping @romainGuiet

haesleinhuepf commented 1 year ago

Amazing, thanks @NicoKiaru !

Maybe, we can ask @psobolewskiPhD or @thawn for thelp for making this work on Mac too. 🙃

psobolewskiPhD commented 1 year ago

Sorry, I'm not really familiar with this stuff, but it's used in making the napari bundle, see: https://github.com/napari/packaging https://napari.org/stable/developers/packaging.html

haesleinhuepf commented 1 year ago

@zoccoler that's the PR @thawn and me were just talking about. Would be cool if you had a look how to make the start menu entry work for Windows. Big thanks!

zoccoler commented 1 year ago

Hi Robert @haesleinhuepf ,

I found the blog I used before to make a Windows installer using this "Inno Setup" program.

It has a step-by-step procedure there, here is the link (skip the pyinstaller part and go to the "What About Installers?" sub-section): https://www.blog.pythonlibrary.org/2019/03/19/distributing-a-wxpython-application/

thawn commented 9 months ago

I had a quick look around and it seems we just need to do mamba install napari-menu. This package provides a json config file that tells constructor to create a windows menu shortcut.

I will play around with the windows installer and napari-menu a bit and report my findings here.

Note that napari-menu causes constructor to create start menu entries that will start napari not naparia. If we wanted to have menu entries for naparia, I guess we would need to create the conda package naparia-menu.

Napari-menu is somehow created from napari-feedstock, but I don't quite understand how that repo works.