SABS-R3-projects / PKPD

A simple, graphical pharmacokinetic-pharmacodynamic modelling solution
GNU General Public License v3.0
18 stars 2 forks source link

How to run the application #60

Closed martinjrobins closed 4 years ago

martinjrobins commented 4 years ago

I've just tried to install and run the PKPD gui, pip install looked like it worked fine.

There wasn't any information on how to run the gui? I tried:

python PKPD/gui/mainWindow.py

and got the following error:

WARNING:myokit._config:Unable to auto-detect Sundials version.
WARNING:myokit._config:Sundials version not set in myokit.ini and version auto-detection failed.
Traceback (most recent call last):
  File "PKPD/gui/mainWindow.py", line 8, in <module>
    from PKPD.inference import inference as inf
  File "/home/mrobins/git/PKPD/PKPD/inference/inference.py", line 4, in <module>
    import pints
ModuleNotFoundError: No module named 'pints'

looks like pints isn't installed by setup.py. even though pints doesn't have a pip install route, you can add a url dependency to setup.py, see here: https://stackoverflow.com/questions/32688688/how-to-write-setup-py-to-include-a-git-repo-as-a-dependency

simonmarchant commented 4 years ago

Hey Martin, I'm looking into this and yes that's the way to do it, I'll add to the documentation once this is fixed.

I can't reproduce your error on a fresh ubuntu OS, but setup.py does include pints installation (from that url I think!). You ran this in the root directory of PKPD before running mainWindow.py, right? pip install .

martinjrobins commented 4 years ago

I did pip install -e . It installed PKPD in my (clean) environment.

pip list gives me:

cma (2.7.0)
configparser (4.0.2)
cycler (0.10.0)
kiwisolver (1.1.0)
lxml (4.5.0)
matplotlib (3.1.3)
mpmath (1.1.0)
myokit (1.30.2)
numpy (1.18.1)
pip (9.0.1)
pkg-resources (0.0.0)
PKPD (0.0.2.dev0, /home/mrobins/git/PKPD)
pyparsing (2.4.6)
PyQt5 (5.9)
python-dateutil (2.8.1)
scipy (1.4.1)
setuptools (39.0.1)
sip (4.19.8)
six (1.14.0)
sympy (1.5.1)
tabulate (0.8.6)
simonmarchant commented 4 years ago

Okay great, thanks. I see what you mean, I've reproduced it, I have some possible ideas for how to fix it and the link you sent wasn't the one I thought so it might give more ideas. I suspect that all 4 of us might have not noticed this before because we made a mess in our base python environment...

It'll be a bit trial-and-error but we'll see what we can do before Friday.

simonmarchant commented 4 years ago

@martinjrobins Okay so it looks like the solution linked used a function of setuptools that is now deprecated, but I have a solution that seems to be working. Please could you check #61 ?