Under Mint 19.3 (a Debian/Ubuntu variant) I did a fresh install of NEURON 8.x by executing
pip3 install neuron
as an ordinary user.
However, when I tried checking a mod file for units inconsistencies, I found that the command
failed. So did
but nrniv and nrnivmodl both worked.
modlunit and idraw seemed to exist, but they weren't on my PATH.
locate modlunit returned
and locate idraw returned
revealed that something called nrniv was in ~/.local/bin, and ls ~/.local/bin confirmed that files called nrnivmodl, nrngui, and neurondemo were all in that same directory.
Michael Hines suggested that
were "probably supposed to be run from wrapper python scripts from the same folder as nrniv"
Sure enough, ~/.local/bin/nrniv started with the following:
A generic wrapper to access nrn binaries from a python installation
Please create a softlink with the binary name to be called.
And its contents were identical to the contents of the files called nrnivmod, nrngui, and neurondemo in that directory.
I also checked /home/ted/.local/lib/python3.6/site-packages/neuron/.data/bin/ and found that it contained the "real" NEURON files--not just nrniv, nrnivmodl, nrngui, and neurondemo, but also modlunit, idraw, etc..
So in ~/.local/bin I simply made symbolic links to ~/.local/bin/nrniv and named them modlunit, idraw, etc.. And now I can execute, from any directory, all of the NEURON commands from the command line. Alternatively, instead of making symbolic links, I could have made multiple copies of any one of the wrapper files and given each copy its own name.
Why didn't all of this happen, automatically and correctly, in the first place? Bizarre. Just bizarre. But no more strange and arbitrary than anything in biology.