# install other Python modules

**URL:** https://discourse.paraview.org/t/install-other-python-modules/9831
**Category:** ParaView Support
**Tags:** python
**Created:** [June 16, 2022, 11:22pm UTC](https://discourse.paraview.org/t/install-other-python-modules/9831 "2022-06-16T23:22:13Z")
**Posts on this page:** 19
**Page:** 1

<div class="post-metadata">

### Author: ![Randy\_Heiland](https://discourse.paraview.org/user_avatar/discourse.paraview.org/randy_heiland/32/909_2.png) [@Randy\_Heiland](https://discourse.paraview.org/u/Randy_Heiland)
#### Post date: [June 16, 2022, 11:22pm UTC](https://discourse.paraview.org/t/install-other-python-modules/9831/1 "2022-06-16T23:22:13Z")

</div>

Hello, I’m trying to bring this past project ([http://www.mathcancer.org/blog/paraview-for-physicell-part-1/](http://www.mathcancer.org/blog/paraview-for-physicell-part-1/)) in line with the latest ParaView (5.10.1). I’m starting out on macOS 12 (arm64), but will eventually want it for Windows (and possibly Linux) too. For starters, I see that 5.10.1 comes with an embedded Python (pvpython 3.9.5). Is it possible to (easily) install an additional module, e.g., scipy, that is not already installed?

I saw this post from ~3 yrs ago (by a student in our lab) which asked the same question, for Windows: [ParaView - Scipy Module](https://discourse.paraview.org/t/paraview-scipy-module/2578)  
There didn’t seem to be a very clear answer then, so I wondered if things have changed with 5.10.

thanks!  
Randy

---

<div class="post-metadata">

### Author: ![mwestphal](https://discourse.paraview.org/user_avatar/discourse.paraview.org/mwestphal/32/17_2.png) [@mwestphal](https://discourse.paraview.org/u/mwestphal)
#### Post date: [June 17, 2022, 5:59am UTC](https://discourse.paraview.org/t/install-other-python-modules/9831/2 "2022-06-17T05:59:00Z")

</div>

> [@Randy\_Heiland](#):
>
> Is it possible to (easily) install an additional module, e.g., scipy, that is not already installed?

Not easily with the binary package. Simple if you build ParaView yourself.

@jourdain

---

<div class="post-metadata">

### Author: ![jourdain](https://discourse.paraview.org/user_avatar/discourse.paraview.org/jourdain/32/11_2.png) [@jourdain](https://discourse.paraview.org/u/jourdain)
#### Post date: [June 17, 2022, 2:49pm UTC](https://discourse.paraview.org/t/install-other-python-modules/9831/3 "2022-06-17T14:49:44Z")

</div>

You can use a Python venv to add any additional Python package to ParaView. You just need to [`import paraview.web.venv`](https://github.com/Kitware/ParaView/blob/master/Web/Python/paraview/web/venv.py) and have the path to your venv exported to an environment variable **PV\_VENV**.

**Note:** Your venv must be built from the same version of Python that is used inside Paraview.

---

<div class="post-metadata">

### Author: ![Randy\_Heiland](https://discourse.paraview.org/user_avatar/discourse.paraview.org/randy_heiland/32/909_2.png) [@Randy\_Heiland](https://discourse.paraview.org/u/Randy_Heiland)
#### Post date: [June 17, 2022, 3:46pm UTC](https://discourse.paraview.org/t/install-other-python-modules/9831/4 "2022-06-17T15:46:44Z")

</div>

I appreciate the replies! I don’t typically work with venv (and more importantly, our users don’t), but does this therefore require that I would need to manually install the Python version that matches that used by PV (and then create a venv using it)? We already essentially require our users to install the very large Anaconda distribution, which will likely not be the same Python version as PV’s. If this additional, somewhat redundant install is necessary, then it may be preferable to opt for a different workflow, like ask them to convert all their .mat formatted files to .vtk (with a script we would provide).

---

<div class="post-metadata">

### Author: ![jourdain](https://discourse.paraview.org/user_avatar/discourse.paraview.org/jourdain/32/11_2.png) [@jourdain](https://discourse.paraview.org/u/jourdain)
#### Post date: [June 17, 2022, 4:54pm UTC](https://discourse.paraview.org/t/install-other-python-modules/9831/5 "2022-06-17T16:54:15Z")

</div>

I mean, you could technically enable your anaconda within ParaView assuming your anaconda use Python 3.9.

---

<div class="post-metadata">

### Author: ![Randy\_Heiland](https://discourse.paraview.org/user_avatar/discourse.paraview.org/randy_heiland/32/909_2.png) [@Randy\_Heiland](https://discourse.paraview.org/u/Randy_Heiland)
#### Post date: [June 17, 2022, 4:58pm UTC](https://discourse.paraview.org/t/install-other-python-modules/9831/6 "2022-06-17T16:58:46Z")

</div>

Sorry, what exactly do you mean by “enabling anaconda within PV”? My current Anaconda distro is at 3.8.8, but maybe there’s been an upgrade.

---

<div class="post-metadata">

### Author: ![jourdain](https://discourse.paraview.org/user_avatar/discourse.paraview.org/jourdain/32/11_2.png) [@jourdain](https://discourse.paraview.org/u/jourdain)
#### Post date: [June 17, 2022, 7:14pm UTC](https://discourse.paraview.org/t/install-other-python-modules/9831/7 "2022-06-17T19:14:47Z")

</div>

What I’m saying is that with the same infrastructure I was mentioning before, you can make ParaView access your full Anaconda environment with the caveat that they share the same Python version 3.x.y where X needs to match but not Y. Also because Anaconda will have some native code base, it is possible that some of them won’t work properly within ParaView but you will only know which one, once you try.

So for your use case, you will either need to upgrade your Anaconda to 3.9 or build a ParaView using the Python from Anaconda which will then make it fully compatible.

I hope that clarify what I mean.

---

<div class="post-metadata">

### Author: ![Randy\_Heiland](https://discourse.paraview.org/user_avatar/discourse.paraview.org/randy_heiland/32/909_2.png) [@Randy\_Heiland](https://discourse.paraview.org/u/Randy_Heiland)
#### Post date: [June 18, 2022, 1:39am UTC](https://discourse.paraview.org/t/install-other-python-modules/9831/8 "2022-06-18T01:39:34Z")

</div>

Thanks very much! It seems to be working for me now, after installing an Anaconda 3.9.x distro and following your advice. I really appreciate your help.

---

<div class="post-metadata">

### Author: ![rudolf.hellmuth](https://discourse.paraview.org/letter_avatar_proxy/v4/letter/r/e95f7d/32.png) [@rudolf.hellmuth](https://discourse.paraview.org/u/rudolf.hellmuth)
#### Post date: [July 26, 2022, 3:02pm UTC](https://discourse.paraview.org/t/install-other-python-modules/9831/9 "2022-07-26T15:02:49Z")

</div>

I am not managing to make this work. I am using Widnsos, and my ParaView Python and Anaconda Python are 3.9.5 and 3.9.12, respectively. I have set the environment variable PV\_VENV to the anaconda main directory (C:\Users\rudolf.hellmuth\Anaconda3), and run:  
**\>\> from paraview.web import venv**  
ParaView is using venv: C:\Users\rudolf.hellmuth\Anaconda3

**\>\>\> import scipy**

Traceback (most recent call last):

File “”, line 1, in

ModuleNotFoundError: No module named ‘scipy’

**\>\>\> import numpy**  
**\>\>\> numpy.file**

‘C:\Program Files\ParaView 5.10.1-MPI-Windows-Python3.9-msvc2017-AMD64\bin\Lib\site-packages\numpy\ **init**.py’

Although venv has found the PV\_VENV, is is neither finding scipy nor importing anaconda’s numpy. Could you please tell me what else is missing here?

---

<div class="post-metadata">

### Author: ![jourdain](https://discourse.paraview.org/user_avatar/discourse.paraview.org/jourdain/32/11_2.png) [@jourdain](https://discourse.paraview.org/u/jourdain)
#### Post date: [August 9, 2022, 2:39pm UTC](https://discourse.paraview.org/t/install-other-python-modules/9831/10 "2022-08-09T14:39:08Z")

</div>

Are you sure `C:\Users\rudolf.hellmuth\Anaconda3` is the location of your anaconda **venv** that you want to use?

---

<div class="post-metadata">

### Author: ![rudolf.hellmuth](https://discourse.paraview.org/letter_avatar_proxy/v4/letter/r/e95f7d/32.png) [@rudolf.hellmuth](https://discourse.paraview.org/u/rudolf.hellmuth)
#### Post date: [August 9, 2022, 3:37pm UTC](https://discourse.paraview.org/t/install-other-python-modules/9831/11 "2022-08-09T15:37:50Z")

</div>

Hi Sebastien,

It is the path I get when I type “conda env list” on the anaconda terminal…

Best regards,  
Rudolf

---

<div class="post-metadata">

### Author: ![jourdain](https://discourse.paraview.org/user_avatar/discourse.paraview.org/jourdain/32/11_2.png) [@jourdain](https://discourse.paraview.org/u/jourdain)
#### Post date: [August 9, 2022, 3:53pm UTC](https://discourse.paraview.org/t/install-other-python-modules/9831/12 "2022-08-09T15:53:57Z")

</div>

I guess I’m not sure what could be going on for the `scipy` part. By default, packages from paraview will be loaded first since you run from pvpython and not python.

Then maybe with scipy you have compiled dependencies to core python which might make it incompatible with pvpython which could prevent its loading.

For compiled python dependency, you really need to be based on the exact same python. Which means, you should probably build ParaView against your anaconda python so you could embed your ParaView into your anaconda.

---

<div class="post-metadata">

### Author: ![rudolf.hellmuth](https://discourse.paraview.org/letter_avatar_proxy/v4/letter/r/e95f7d/32.png) [@rudolf.hellmuth](https://discourse.paraview.org/u/rudolf.hellmuth)
#### Post date: [August 9, 2022, 4:27pm UTC](https://discourse.paraview.org/t/install-other-python-modules/9831/13 "2022-08-09T16:27:10Z")

</div>

I haven’t built my paraview. I downloaded the binary installer. I had thought paraview.web.venv would link my pvpython to any python module installed in the venv, as long as the python version is the same for the first and second number (i.e., a module of python x.y.a would work with pvpython x.y.b).

Is there anything I’ve misunderstood?

---

<div class="post-metadata">

### Author: ![jourdain](https://discourse.paraview.org/user_avatar/discourse.paraview.org/jourdain/32/11_2.png) [@jourdain](https://discourse.paraview.org/u/jourdain)
#### Post date: [August 9, 2022, 5:56pm UTC](https://discourse.paraview.org/t/install-other-python-modules/9831/14 "2022-08-09T17:56:14Z")

</div>

Your understanding is correct with a caveat/limitation.

The limitation is that some python module are actually controlling native code that are linked with the core of Python. In such case, they became incompatible between the Python from ParaView regardless of the version because such python is built with different flags.

But for all the plain python ones and native that don’t link against Python they should work without issue.

---

<div class="post-metadata">

### Author: ![rudolf.hellmuth](https://discourse.paraview.org/letter_avatar_proxy/v4/letter/r/e95f7d/32.png) [@rudolf.hellmuth](https://discourse.paraview.org/u/rudolf.hellmuth)
#### Post date: [August 9, 2022, 6:44pm UTC](https://discourse.paraview.org/t/install-other-python-modules/9831/15 "2022-08-09T18:44:12Z")

</div>

> [@jourdain](#):
>
> limitation is that some python module are actually controlling native code that are linked with the core of Python. In such case, they became incompatible between the Python from ParaView regardless of the version because such python is built with different flags.
> 
> But for all the plain python ones and native that don’t link against Python they should work without issue.

Ow, damn… ☹

I had a script with scipy running on a linux machine, which I wanted to run again. I guess the only solution would be to build ParaView myself, isn’t it?

---

<div class="post-metadata">

### Author: ![jourdain](https://discourse.paraview.org/user_avatar/discourse.paraview.org/jourdain/32/11_2.png) [@jourdain](https://discourse.paraview.org/u/jourdain)
#### Post date: [August 9, 2022, 7:22pm UTC](https://discourse.paraview.org/t/install-other-python-modules/9831/16 "2022-08-09T19:22:09Z")

</div>

most likely and you will have to build PV against that specific python. But that could be done without the superbuild which could be easier. Then just properly set your PYTHONPATH and PATH so the PV libs gets found from your Python (system/anaconda).

---

<div class="post-metadata">

### Author: ![rudolf.hellmuth](https://discourse.paraview.org/letter_avatar_proxy/v4/letter/r/e95f7d/32.png) [@rudolf.hellmuth](https://discourse.paraview.org/u/rudolf.hellmuth)
#### Post date: [August 9, 2022, 8:56pm UTC](https://discourse.paraview.org/t/install-other-python-modules/9831/17 "2022-08-09T20:56:05Z")

</div>

Thank you, I will do that!

Best regards

---

<div class="post-metadata">

### Author: ![aerogt3](https://discourse.paraview.org/letter_avatar_proxy/v4/letter/a/3bc359/32.png) [@aerogt3](https://discourse.paraview.org/u/aerogt3)
#### Post date: [April 17, 2025, 8:56pm UTC](https://discourse.paraview.org/t/install-other-python-modules/9831/18 "2025-04-17T20:56:40Z")

</div>

Is there any possibility to (in future releases) include pip with the paraview binaries so that packages can be installed that way?

---

<div class="post-metadata">

### Author: ![mwestphal](https://discourse.paraview.org/user_avatar/discourse.paraview.org/mwestphal/32/17_2.png) [@mwestphal](https://discourse.paraview.org/u/mwestphal)
#### Post date: [April 18, 2025, 7:16am UTC](https://discourse.paraview.org/t/install-other-python-modules/9831/19 "2025-04-18T07:16:24Z")

</div>

I’m afraid `pip` will never be shipped in ParaView binary because it requires OpenSSL, shipping OpenSSL would raise many issues.

However, you can just use your system `pip` instead! See this: [Install any python package for the ParaView binary release using pip](https://discourse.paraview.org/t/install-any-python-package-for-the-paraview-binary-release-using-pip/14437)
