Edit this page

NA-MIC Project Weeks

Back to Projects List

Python Package Management for Slicer Extensions

Key Investigators

Project Description

This project will focus on improving the python package management in Slicer (i.e. pip install)

Objective

The objective is to have a consistent interface / process for installing patyhon packages across Slicer (extensions and in the python interactor)

Approach and Plan

  1. Create a slicer.util.pip function (or equivalent architecture) for accessing pip install from scripts or the interactor
    • Investigate use of virtual environments in Slicer
  2. Extension python package automatic install
    • Post-install packages using a hook for requirements.txt
  3. Document experience installing and using various python packages in Slicer
    • which ones work well with no problems
    • what properties of some packages lead to problems (e.g. conflicting dependencies)

Progress and Next Steps

  1. Andras has already implemented the slicer.util.pip_install()
  2. Discussed plans for python package management during a dedicated breakout session
  3. We will be continuing with the plan to pip install packages after extension install, not during the build process
  4. We need to look into blacklisting packages though pip

Illustrations

Background and References

Discourse Dicussions