[英]Import error: Anaconda numpy (numpy and Anaconda already installed, virtualenv)
我有一個虛擬環境my_env,在其中安裝了Anaconda。 當我打字
which python
我得到:
/user/pkgs/anaconda2/envs/my_env/bin/python
我在這里導入numpy沒有錯誤:
(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
>>>
但是,當我在python程序中說“將numpy導入為np”並從shell腳本運行時,我得到:
(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
我怎樣才能解決這個問題?
編輯:我被問到program.sh中是什么。 簡短的答案是我正在循環中運行不同的參數。 長答案是:
#/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
文件readparas.txt的行包含文件名,reps,pop,susc,exp_trans,inf_period和eps,如下所示:
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
...
您的Shell腳本並不關心是否啟用virtualenv
(它在干凈的環境中啟動)。
而不是../python_program.py
您需要具有完整的可執行路徑
export PYTHON_ENV=/user/pkgs/anaconda2/envs/my_env
$PYTHON_ENV/bin/python ../python_program.py --filename $a1 ...
或者您可以將其附加到python_program.py
的頂部
#!/usr/bin/env python
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.