Python多版本错误_ZN5boost6python6detail11init_moduleER11PyModuleDefPFvvE

时间:2017-05-18 23:03:35

标签: python python-3.x boost dlib dlib-python

使用python3.5

运行应用时出错
Traceback (most recent call last):                                                                                                                                              
  File "/usr/local/bin/face_recognition", line 7, in <module>                                                                                                                   
    from face_recognition.cli import main                                                                                                                                       
  File "/usr/local/lib/python3.5/site-packages/face_recognition/__init__.py", line 7, in <module>                                                                               
    from .api import load_image_file, face_locations, face_landmarks, face_encodings, compare_faces, face_distance                                                              
  File "/usr/local/lib/python3.5/site-packages/face_recognition/api.py", line 4, in <module>                                                                                    
    import dlib                                                                                                                                                                 
  File "/usr/local/lib/python3.5/site-packages/dlib/__init__.py", line 1, in <module>                                                                                           
    from .dlib import *                                                                                                                                                         
ImportError: /usr/local/lib/python3.5/site-packages/dlib/dlib.so: undefined symbol: _ZN5boost6python6detail11init_moduleER11PyModuleDefPFvvE

我可以看到libboost是问题,我使用适当版本的python编译它并设置python root但仍然有错误。我错过了什么?

1 个答案:

答案 0 :(得分:0)

我也遇到过这种问题。在我的Mac上,我从源代码安装了一个版本的boost 1.58。

当我尝试按照以下命令安装dlib时:

brew install cmake
brew install boost
brew install boost-python --with-python3
sudo pip3 install numpy
sudo pip3 install scipy
sudo pip3 install scikit-image 
sudo pip3 install dlib

我认为dlib在我的Mac上使用了错误的boost版本。

这是我的解决方案:

  1. 尝试使用brew uninstall删除boost,并从/ usr / local / include&amp;删除所有相关的boost include和lib文件。的/ usr /本地/ lib中。

  2. 重新安装以上brew&amp; pip3命令重新安装所有相关库。

  3. 完成这两个步骤后,我的Mac现在可以正确使用Python3下的dlib了。