I have a virtual environment my_env in which I installed Anaconda. When I type
which python
I get:
/user/pkgs/anaconda2/envs/my_env/bin/python
I have no errors importing numpy here:
(my_env) user@hostname:~/my_dir$ python
Python 2.7.12 |Continuum Analytics, Inc.| (default, Jul 2 2016, 17:42:40)
[GCC 4.4.7 20120313 (Red Hat 4.4.7-1)] on linux2
Type "help", "copyright", "credits" or "license" for more information.
Anaconda is brought to you by Continuum Analytics.
Please check out: http://continuum.io/thanks and https://anaconda.org
>>> import numpy as np
>>>
But when I say 'import numpy as np' in a python program and run that from a shell script, I get:
(my_env) user@hostname:~/mydir$ ./program.sh
Traceback (most recent call last):
File "../python_program.py", line 3, in <module>
import numpy as np
ImportError: No module named numpy
How can I fix this?
EDIT: I was asked what is in program.sh. The short answer is that I'm running different parameters in a loop. The long answer is:
#/bin/bash
i=0
while read a1 b1 c1 d1 e1 f1 g1 h1 i1
do
i=$(($i+1))
mkdir RUN_EXP$i
cp $a1 RUN_EXP$i
cd RUN_EXP$i
../python_program.py --filename $a1 --reps $b1 --pop $c1 --susc $d1 --exp_trans $e1 --inf_period $f1\ $g1 --eps $h1\ $i1
cd ..
done < readparas.txt
The file readparas.txt has lines containing filename, reps, pop, susc, exp_trans, inf_period, and eps like this:
run_1.txt 50 162 0.30 0.1 5 9 0.1 0.25
run_1.txt 50 162 0.30 0.3 5 9 0.1 0.25
...
program.sh
? – DYZ