Page 1 of 1
Starting Neuron GUI in python
Posted: Fri Aug 13, 2010 5:49 pm
by nevo
Hello everybody,
I am having difficulties in starting the GUI of NEURON in python.
I am using Enthought Python 6.2 on a WINDOWS XP machine and NEURON as a python module which I compiled myself as described in post
viewtopic.php?f=5&t=1970.
This is what I did:
- Extract the two packages in $HOME/nrn and $HOME/iv-17
- In the directory $HOME/iv-17:
Code: Select all
./configure --prefix=`pwd`
make
make install
- In the directory $HOME/nrn:
Code: Select all
./configure --prefix=`pwd` --with-iv=$HOME/iv-17 --with-nmodl-only
make
export PATH=$HOME/bin:/cygdrive/c/Python26/Scripts:$PATH
cp /bin/make $HOME/bin/make
./configure --prefix=`pwd` --without-iv --without-memacs --without-nmodl \
--disable-cygwin --with-nrnpython=/cygdrive/c/Python26/python \
PYINCDIR=c:/Python26/include PYLIB='-Lc:/Python26/libs -lpython26' \
PYLIBDIR=c:/Python26/libs PYLIBLINK='-Lc:/Python26/libs -lpython26' \
use_pthreads=no
make
make mswin
The last command gives the error message:
Code: Select all
Error in script "nrnsetup.nsi on line 192 -- aborting creation process
Nevertheless I tried to import the module in python with:
Code: Select all
cd /cygdrive/c/marshalnrn/nrn/bin
cp hocmodule.dll hoc.pyd
and in a DOS-promt:
Code: Select all
set NEURONHOME=c:/marshalnrn/nrn
set PYTHONPATH=c:/marshalnrn/nrn/lib/python;c:/marshalnrn/nrn/bin
c:\Python26\python
from neuron import h
and it works.
But when I try to start the GUI with
nothing happens. Either there is an error message nor the GUI appears.
Can anybody help?
Re: Starting Neuron GUI in python
Posted: Sat Aug 14, 2010 10:59 am
by ted
Either there is an error message nor the GUI appears
I need some help parsing this. Do you mean to say that
{sometimes an error message appears}
AND
{the NEURON Main Menu toolbar never appears}
?
If
{sometimes an error message appears}
then
what is the error message?
On those occasions when an error message does not appear, what happens if you type
h.nrnmainmenu()
Re: Starting Neuron GUI in python
Posted: Mon Aug 16, 2010 11:57 am
by nevo
ted wrote:Either there is an error message nor the GUI appears
I need some help parsing this.
Sorry, I wanted to write:
Neither there is an error message nor the GUI appears.
When I type
from neuron import gui
I get a "1" but the GUI does not appear.
When I then type
h.nrnmainmenu()
I get "0.0" but the GUI still does not appear.
Thanks for your help.
Re: Starting Neuron GUI in python
Posted: Mon Aug 16, 2010 5:03 pm
by hines
I'm afraid I have not been able to construct a non-cygwin version of InterViews and therefore it is not
possible to extend the mswin enthought distribution of python with a a gui version of NEURON.
The underlying problem is that InterViews makes use of the unix 'select' system call which has an
implementation in cygwin but not in mingw. If one goes far enough back into the past, there was a time,
before I switched to cygwin, where I had an mswin version of InterViews. But I hesitate to try to resurect
that old code since it was integrated with special window terminal code. Enthought supplies many useful
python modules so the situation is not very satisfying.
Re: Starting Neuron GUI in python
Posted: Mon Aug 16, 2010 5:14 pm
by hines
I just googled 'cygwin' 'enthought' and perhaps there is a way of running them both together. e.g.
http://bytes.com/topic/python/answers/3 ... hon-cygwin
I'll have to experiment with this. Unfortunately I no longer have a decent mswin development machine
and am limited to a VirtualBox on my linux desktop that can run xp. So it may be a substantial
interval before I have anything to report. At any rate, if you want to try your hand at this, the thing to do
is to build NEURON as a normal cygwin program and point the --with-nrnpython to the enthought python.
Re: Starting Neuron GUI in python
Posted: Tue Aug 17, 2010 10:08 am
by hines
Tried the
set CYGWIN=NOTTY
but when I did a
import sys
sys.path.append('c:\\marshalnrn\\nrn\\bin')
import hoc
the dos command prompt window where I ran c:\Python25\python stopped responding.
Note that in c:/marshalnrn/nrn/bin I copied hocmodule.dll to hoc.pyd .
Re: Starting Neuron GUI in python
Posted: Tue Aug 17, 2010 11:43 am
by nevo
I put this
hines wrote:
set CYGWIN=NOTTY
in the windows command prompt and then ran python.
These commands
import sys
sys.path.append('c:\\marshalnrn\\nrn\\bin')
import hoc
all worked. But I am still not able to bring up the GUI.
the thing to do
is to build NEURON as a normal cygwin program and point the --with-nrnpython to the enthought python.
If I understand correctly I did that with the commands In the $HOME/nrn directory:
Code: Select all
./configure --prefix=`pwd` --without-iv --without-memacs --without-nmodl \
--disable-cygwin --with-nrnpython=/cygdrive/c/Python26/python \
PYINCDIR=c:/Python26/include PYLIB='-Lc:/Python26/libs -lpython26' \
PYLIBDIR=c:/Python26/libs PYLIBLINK='-Lc:/Python26/libs -lpython26' \
use_pthreads=no
make
make mswin
Re: Starting Neuron GUI in python
Posted: Tue Aug 17, 2010 11:50 am
by hines
The whole point of my post was that I was completely UNSUCCESSFUL.
Your configure arguments contain two reasons why you cannot have an InterViews gui.
They are
--disable-cygwin --without-iv
Re: Starting Neuron GUI in python
Posted: Mon Aug 23, 2010 3:49 am
by nevo
Thanks for your reply!
hines wrote:
Your configure arguments contain two reasons why you cannot have an InterViews gui.
They are
--disable-cygwin --without-iv
I tried it again with your advice but unfortunately I still don’t get the GUI with the Enthought Python to work.
So now I tried to compile the NEURON module with the cygwin version of python.
Code: Select all
./configure --prefix=`pwd` --with-iv=$HOME/iv-17 --with-nmodl-only --without-memacs --with-nrnpython=/bin/python use_pthreads=no
make
make mswin
Everything went fine so I copied hocmodule.dll to hoc.pyd in /marshalnrn/nrn/bin
I set both $NEURONHOME=/cygdrive/c/marshalnrn/nrn and $PYTHONPATH=/cygdrive/c/marshalnrn/nrn/bin:/cygdrive/c/marshalnrn/nrn/lib/python
Now if I do
from neuron import h
I get the following Error:
Code: Select all
File "/cygdrive/c/marshalnrn/nrn/lib/python/neuron/__init__.py", line 81, in
<module> import neuron.hoc
ImportError: No module named hoc
Do you have any suggestions?
Kind regards
Re: Starting Neuron GUI in python
Posted: Mon Aug 23, 2010 9:49 am
by hines
The whole point of my post was that I was completely UNSUCCESSFUL.
I'm trying to say that I cannot get a cygwin version of NEURON to import into an
enthought distribution of python.
Your configure option '--with-nmodl-only' does NOT build neuron libraries or an executable. That option is
for a first stage build during cross compiling and only creates nocmodl and a few other executables which
need to be run on the build machine in order to build a neuron executable on a different processor architecture.
I am looking at
posting.php?mode=reply&f=5&t=2032
and indeed was able to run enthought python from a bash shell. I will
experiment with this and let you know if I get any further.
Re: Starting Neuron GUI in python
Posted: Mon Aug 23, 2010 9:51 am
by hines
Sorry, I forgot that I cannot copy from a virtualbox and paste here. The link is
http://bytes.com/topic/python/answers/3 ... hon-cygwin
Re: Starting Neuron GUI in python
Posted: Tue Aug 24, 2010 7:42 am
by nevo
Ok, thank you
Re: Starting Neuron GUI in python
Posted: Mon Aug 30, 2010 12:05 pm
by hines
I have not been successful in running the enthought distribution of python with a cygwin version of neuron.
I can run the enthought python in a bash terminal (not rxvt terminal).
I can run the idemo from a bash terminal (but no output to the terminal though ./idemo > temp will put the
output in temp.
I can run a non-iv version of neuron in a bash terminal with stdin/stdout.
I cannot run nrniv in a bash terminal. It hangs unless given a filename as input with a final quit() statement.
Again, no stdout to terminal, only to a file.
So it looks like it will not be possible to combine the neuron gui with the enthought distribution of python
on a mswin machine without building a non-cygwin version of interviews.
Re: Starting Neuron GUI in python
Posted: Wed Sep 08, 2010 9:09 am
by nevo
Ok, thank you for your help!