2017-05-18 104 views
1

我python3.5Python的多版本错误_ZN5boost6python6detail11init_moduleER11PyModuleDefPFvvE

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的相应版本设置蟒蛇根编译它,以及运行应用程序时有一个错误但仍然有错误。我错过了什么?

回答

0

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

当我尝试通过以下命令来安装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使用boost的版本错误在我的Mac。

这里是我的解决方案:

  1. 尝试使用BREW卸载删除提振,并删除所有相关的提升包括和从/ usr/local/lib目录文件包括&在/ usr/local/lib目录。

  2. 重新安装上述brew & pip3命令重新安装所有相关的库。

经过这两个步骤,我的Mac现在可以正确使用Python3下的dlib。