<p>我用Pydev运行Eclipse Juno。我编译了一个egg包,它使用ctypes导入一个C库。它在终端上运行得很好,但是当从Eclipse内部运行时,我得到</p>
<pre><code>/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
</code></pre>
<p>在Pydev中重新加载所有库之后,Eclipse甚至在导入模块时都不会给出错误,但它不会加载模块。更清楚的是,从终端开始一切都很好。在</p>
<p>编辑:我认为问题出在Eclipse调用python的方式上。它和从终端调用python有什么不同吗?在</p>
<p>干杯</p>