问题:
通过直接使用脚本路径./myScript.py
调用脚本来运行python脚本时,出现库加载错误。当我运行python myScript.py
时不会发生该错误。
最小的工作示例脚本是:
#!/usr/bin/env python
import pyminc.volumes.factory as pyminc
错误是:
Something went wrong loading shared libraries ...Traceback (most recent call last):
File "./py_version.py", line 5, in <module>
import pyminc.volumes.factory as pyminc
File "/Users/username/.local/lib/python2.7/site-packages/pyminc/volumes/factory.py", line 3, in <module>
from .volumes import mincException, mincVolume, getDtype, transform_xyz_coordinates_using_xfm, transform_multiple_xyz_coordinates_using_xfm
File "/Users/username/.local/lib/python2.7/site-packages/pyminc/volumes/volumes.py", line 1, in <module>
from .libpyminc2 import *
File "/Users/username/.local/lib/python2.7/site-packages/pyminc/volumes/libpyminc2.py", line 17, in <module>
libminc = cdll.LoadLibrary("libminc2.so")
File "/anaconda2/lib/python2.7/ctypes/__init__.py", line 444, in LoadLibrary
return self._dlltype(name)
File "/anaconda2/lib/python2.7/ctypes/__init__.py", line 366, in __init__
self._handle = _dlopen(self._name, mode)
OSError: dlopen(libminc2.so, 6): image not found
解决方案尝试: 我怀疑通过每种方法运行脚本时都调用了不同版本的python,但是我是测试脚本:
#!/usr/bin/env python
import sys
print sys.executable
print sys.version
从路径./testScript.py
并使用python testScript.py
调用时,返回相同的结果:
/anaconda2/bin/python
2.7.15 |Anaconda, Inc.| (default, May 1 2018, 18:37:05)
[GCC 4.2.1 Compatible Clang 4.0.1 (tags/RELEASE_401/final)]
因此,它看起来是相同的版本,并且在两种情况下都使用python安装。关于如何进一步调试的任何建议?