通过Shell脚本调用python脚本时出现ImportError
内容导读
互联网集市收集整理的这篇技术教程文章主要介绍了通过Shell脚本调用python脚本时出现ImportError,小编现在分享给大家,供广大互联网技能从业者学习和参考。文章包含1881字,纯文字阅读大概需要3分钟。
内容图文
![通过Shell脚本调用python脚本时出现ImportError](/upload/InfoBanner/zyjiaocheng/946/ca0c59c39c7a41c1b526b2237496b521.jpg)
我已经减少了我要解决的问题.这是我的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的结果,以及无论在bash脚本中还是在命令行中调用的python,它们都返回相同的结果.
我不知道发生了什么!
解决方法:
我有一个类似的问题.事实证明,在我的bash脚本中,我运行的Python脚本与命令行版本不同(我的环境是在Python 2.7上使用virtualenv设置的,但是我从bash脚本中使用Python3调用了该脚本) ).
您的代码段中没有任何内容表明是这种情况,但是值得检查以确保Python版本匹配.
内容总结
以上是互联网集市为您收集整理的通过Shell脚本调用python脚本时出现ImportError全部内容,希望文章能够帮你解决通过Shell脚本调用python脚本时出现ImportError所遇到的程序开发问题。 如果觉得互联网集市技术教程内容还不错,欢迎将互联网集市网站推荐给程序员好友。
内容备注
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 gblab@vip.qq.com 举报,一经查实,本站将立刻删除。
内容手机端
扫描二维码推送至手机访问。