【问题标题】:Python multi-version error _ZN5boost6python6detail11init_moduleER11PyModuleDefPFvvEPython多版本错误_ZN5boost6python6detail11init_moduleER11PyModuleDefPFvvE
【发布时间】:2017-10-18 22:28:56
【问题描述】:

使用 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,但仍然有错误。我错过了什么?

【问题讨论】:

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


    【解决方案1】:

    我也遇到过这种问题。在我的 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 & /usr/local/lib 中删除所有相关的 boost include 和 lib 文件。

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

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

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2015-07-04
      • 1970-01-01
      • 1970-01-01
      • 2012-04-15
      • 2018-07-17
      • 1970-01-01
      • 1970-01-01
      • 2011-09-22
      相关资源
      最近更新 更多