python不导入模块 - 也许gcc用于编译python库而不是clang?

时间:2015-06-24 16:23:25

标签: python c++ macos gcc clang

Mac OSX,Python 2.7.9 | Anaconda 2.2.0(x86_64)|。我正在尝试安装一个名为foo的python模块。我跑

python setup.py install

我得到了

running install
running build
running build_ext
running install_lib
running install_egg_info
Removing /Users/jir955/anaconda/lib/python2.7/site-packages/kenlm-0.0.0-py2.7.egg-info
Writing /Users/jir955/anaconda/lib/python2.7/site-packages/kenlm-0.0.0-py2.7.egg-info

然而,在

之后
import foo

我收到错误

  Traceback (most recent call last): File "<stdin>", 
line 1, in <module> ImportError: foo.so, 2):
 Symbol not found: __ZTINSt8ios_base7failureB5cxx11E
Referenced from: foo.so Expected in: dynamic lookup

当我尝试使用gcc而不是clang编译某些内容时,发生了错误。 (在某些时候,我出于某种原因自己下载了gcc,但后来我推出了卸载的gcc。)我通过添加-toolset = clang来避免错误。

我尝试过添加

 os.environ["CC"] = "/usr/bin/clang"
 os.environ["CXX"] = "/usr/bin/clang"

到setup.py,还修改bashrc以包含

export CC=/usr/bin/clang
export CXX=/usr/bin/clang++

但这些事情都没有奏效。我跟谈过的一个人提出问题是我使用gcc而不是clang编译python库,但如果是这种情况我不知道如何解决这个问题。

编辑:

nm foo.so

我得到的摘录是

0000000000072a60 S __ZTIN4util9ExceptionE
U __ZTINSt8ios_base7failureB5cxx11E
U __ZTISt11range_error

0 个答案:

没有答案