Back to Projects List
Python Package Management for Slicer Extensions
Key Investigators
- Sam Horvath (Kitware)
- Jean Christophe Fillion-Robin (Kitware)
- Steve Pieper (Isomics)
- Andras Lasso (Queen’s University)
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
- 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
- Extension python package automatic install
- Post-install packages using a hook for requirements.txt
- 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
- Andras has already implemented the slicer.util.pip_install()
- Discussed plans for python package management during a dedicated breakout session
- We will be continuing with the plan to pip install packages after extension install, not during the build process
- We need to look into blacklisting packages though pip
Illustrations
Background and References
Discourse Dicussions