Feature Request: Better support for using external python modules
While there is a path allowing pvpython
scripts to import arbitrary python modules by linking to a virtual environment (described in a blog post), it would be nice to have more comprehensive support for this. I'm proposing some notion of a linked virtual environment which ParaView could "activate", and then any modules in that virtual environment would be available to all of ParaView.
For example, if one has implemented a python plugin implementing a new reader, and that plugin depends on arbitrary python modules (which could be installed in a virtualenv), the approach described in the blog post can be adopted to support that use case by hardcoding the path to the virtual env directory in the reader plugin module, but that feels pretty clunky.
What would be nice is if ParaView supported the following things:
- Specify a virtual environment directory as a parameter to all of the paraview command-line programs (
paraview
,pvpython
,pvbatch
), perhaps something like--virtual-env
or--link-virtualenv
or similar. - Keep track of that linked virtual environment in ParaView's stored configuration (so for example, it could be "turned off" by running with the
-dr
option) - Perhaps allow setting the virtual environment path from within the ParaView settings dialog