私が抱えている問題をこれに減らしました。これが私のpythonスクリプトの内容ですtmp.py
:
import numpy
print "Imported numpy!"
コマンドラインでPythonスクリプトを直接呼び出すと
$ python tmp.py
numpy を正常にインポートし、print ステートメントを出力します。
これが私のbashスクリプトの内容ですtest.sh
:
#!/bin/bash
echo "PYTHONPATH:: $PYTHONPATH"
echo "PATH:: $PATH"
echo "LD_LIBRARY_PATH:: $LD_LIBRARY_PATH"
pyver=`which python`
echo "Using python version $pyver"
python tmp.py
コマンドラインでこのスクリプトを呼び出すと、
$ ./test.sh
次のエラーが表示されます。
Traceback (most recent call last):
File "tmp.py", line 1, in <module>
import numpy
File "/home/alex/Enthought/Canopy_64bit/User/lib/python2.7/site-packages/numpy/__init__.py", line 148, in <module>
import add_newdocs
File "/home/alex/Enthought/Canopy_64bit/User/lib/python2.7/site-packages/numpy/add_newdocs.py", line 9, in <module>
from numpy.lib import add_newdoc
File "/home/alex/Enthought/Canopy_64bit/User/lib/python2.7/site-packages/numpy/lib/__init__.py", line 13, in <module>
from polynomial import *
File "/home/alex/Enthought/Canopy_64bit/User/lib/python2.7/site-packages/numpy/lib/polynomial.py", line 17, in <module>
from numpy.linalg import eigvals, lstsq
File "/home/alex/Enthought/Canopy_64bit/User/lib/python2.7/site-packages/numpy/linalg/__init__.py", line 48, in <module>
from linalg import *
File "/home/alex/Enthought/Canopy_64bit/User/lib/python2.7/site-packages/numpy/linalg/linalg.py", line 23, in <module>
from numpy.linalg import lapack_lite
ImportError: libmkl_gf_lp64.so: cannot open shared object file: No such file or directory
echo $PYTHONPATH
、echo $PATH
、echo $LD_LIBRARY_PATH
およびすべての結果が、 which python
bash スクリプト内で呼び出された場合でも、コマンド ラインで呼び出された場合でも、同じ結果を返すことを確認しました。
何が起こっているのかわかりません!