我正在使用 Pydev 运行 Eclipse Juno。我编译了一个使用 ctypes 导入 C 库的 egg 包。它在终端上运行良好,但是当从 Eclipse 内部运行时,我得到
/usr/local/lib/python2.7/dist-packages/PhreeqPy-0.1.0-py2.7.egg/phreeqpy/iphreeqc
Traceback (most recent call last):
File "/src/pywork/fddarcy/src/fddarcy.py", line 75, in <module>
sys.exit(main())
File "/src/pywork/fddarcy/src/fddarcy.py", line 35, in main
freak =phreeqc_mod.IPhreeqc()
File "/usr/local/lib/python2.7/dist-packages/PhreeqPy-0.1.0-py2.7.egg/phreeqpy/iphreeqc/phreeqc_dll.py", line 28, in __init__
self.phreeqc = ctypes.cdll.LoadLibrary(dll_path)
File "/usr/lib/python2.7/ctypes/__init__.py", line 443, in LoadLibrary
return self._dlltype(name)
File "/usr/lib/python2.7/ctypes/__init__.py", line 365, in __init__
self._handle = _dlopen(self._name, mode)
OSError: libimf.so: cannot open shared object file: No such file or directory
在 Pydev 中重新加载所有库后,Eclipse 在导入模块时甚至没有给出错误,但它不会加载模块。为了更加清楚,终端上的一切正常。
编辑:我认为问题在于 Eclipse 调用 python 的方式。它与从终端调用 python 的方式有什么不同吗?
干杯