On Hera, must deactivate and re-activate the venv to find the esmf-profiler
Opened this issue · 2 comments
Describe the bug
On Hera, I have to deactivate and reactivate the venv in order to find the esmf-profiler in the path:
[Rocky.Dunlap@hfe05 esmf-profiler]$ source ./venv/bin/activate.csh
[venv] [Rocky.Dunlap@hfe05 esmf-profiler]$ pip install -e .
Obtaining file:///scratch2/NCEPDEV/stmp1/Rocky.Dunlap/esmf-profiler
Installing collected packages: profiler
Running setup.py develop for profiler
Successfully installed profiler
[venv] [Rocky.Dunlap@hfe05 esmf-profiler]$ esmf-profiler
esmf-profiler: Command not found.
Note that the version (0.1.1) is not shown above, but it does show if the command is repeated:
[venv] [Rocky.Dunlap@hfe05 esmf-profiler]$ pip install -e .
Obtaining file:///scratch2/NCEPDEV/stmp1/Rocky.Dunlap/esmf-profiler
Installing collected packages: profiler
Found existing installation: profiler 0.1.1
Uninstalling profiler-0.1.1:
Successfully uninstalled profiler-0.1.1
Running setup.py develop for profiler
Successfully installed profiler
[venv] [Rocky.Dunlap@hfe05 esmf-profiler]$ esmf-profiler
esmf-profiler: Command not found.
The esmf-profiler is not found. If I deactivate/activate again, it is found:
[venv] [Rocky.Dunlap@hfe05 esmf-profiler]$ deactivate
[Rocky.Dunlap@hfe05 esmf-profiler]$ source ./venv/bin/activate.csh
[venv] [Rocky.Dunlap@hfe05 esmf-profiler]$ esmf-profiler
usage: esmf-profiler [-h] -t TRACEDIR -n NAME -o OUTDIR [-p PUSH] [-v] [-s]
esmf-profiler: error: the following arguments are required: -t/--tracedir, -n/--name, -o/--outdir
To Reproduce
Follow steps above on Hera.
Expected behavior
Ideally, the user should not need to deactivate/activate again.
@rsdunlapiv I ran a full end to end and had no issues other than the local server not starting (likely can't run that on Hera).
I'm not specifying the activate.csh
when activating the virtual environment:
source ./venv/bin/activate
On Hera the default shell is tcsh.
[Rocky.Dunlap@hfe05 esmf-profiler]$ source ./venv/bin/activate
Badly placed ()'s.
So instead I run:
[Rocky.Dunlap@hfe05 esmf-profiler]$ source ./venv/bin/activate.csh
[venv] [Rocky.Dunlap@hfe05 esmf-profiler]$
When I switch to bash, it works:
bash-4.2$ source ./venv/bin/activate
(venv) bash-4.2$ pip install -e .
Obtaining file:///scratch2/NCEPDEV/stmp1/Rocky.Dunlap/esmf-profiler
Installing collected packages: profiler
Running setup.py develop for profiler
Successfully installed profiler
(venv) bash-4.2$ esmf-profiler
usage: esmf-profiler [-h] -t TRACEDIR -n NAME -o OUTDIR [-p PUSH] [-v] [-s]
esmf-profiler: error: the following arguments are required: -t/--tracedir, -n/--name, -o/--outdir
Ideally, we would support tcsh since that is the default shell on Hera.
If that's is not possible, then we would want to say that bash is required and add that to quick start guide. I would prefer that we support tcsh because that is a better user experience for users on Hera. (Switching shells is something that users could easily miss, so any steps we can take for the tool to work in the default environment is a good move.)