Auditory-Biophysics-Lab / Slicer-ABLTemporalBoneSegmentation

3D Slicer extension featuring spacing resampling, fiducial registration, and rigid registration of temporal bone images.
BSD 3-Clause "New" or "Revised" License
16 stars 2 forks source link

Bundling python package causes problems on the extension package server #3

Closed lassoan closed 4 years ago

lassoan commented 4 years ago

Many users have reported that SlicerJupyter extension is missing in the extension manager. We investigated the problem and it turned out that it is caused by this ABLTemporalBoneSegmentation extension somehow installing ipython (probably indirectly, through dependencies). Our Python packaging expert @jcfr will not be available for a few more weeks, so we cannot do any deeper analysis of the problem right now.

To make both SlicerJupyter and ABLTemporalBoneSegmentaiton extensions available, let's try the following: update your extension so that it does not bundle ablinfer package (do not even make the extension use SuperBuild) but instead make it install ablinfer the first time the module is launched, similarly to how this extension installs the "mosek" package: https://github.com/ToothAndClaw/SlicerAuto3dgm/blob/master/Auto3dgm/Auto3dgm.py#L72-L77

ben-connors commented 4 years ago

I've made the (provisional) changes to load/install the module at runtime. The extension is still using SuperBuild, since I also use SuperBuild to download a required file from another repository.

I'm almost certain this isn't a problem with my setup; I followed the general procedure from the WhiteMatterAnalysis extension for installing Python modules. This extension is not installing IPython in my test build environment (using https://github.com/Slicer/SlicerBuildEnvironment) and I can find no reference to IPython in the resulting extension package or in the entire filesystem tree.

lassoan commented 4 years ago

Thank you for working on this. You only need superbuild for building packages. For just downloading, you can use custom build step.

Anyway, I continue the investigation and keep you updated.