2017-05-18 101 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。