Python 多版本错误 _ZN5boost6python6detail11init_moduleER11PyModuleDefPFvvE
Python multi-version error _ZN5boost6python6detail11init_moduleER11PyModuleDefPFvvE
当 运行 应用与 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 根目录,但仍然有错误。我错过了什么?
我也遇到这种问题。在我的 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。
这是我的解决方案:
尝试使用 brew uninstall 删除 boost,并从 /usr/local/include & /usr/local/lib 中删除所有相关的 boost include 和 lib 文件。
重新安装上述 brew & pip3 命令以重新安装所有相关库。
经过这两个步骤,我的 Mac 现在可以在 Python3 下正确使用 dlib。
当 运行 应用与 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 根目录,但仍然有错误。我错过了什么?
我也遇到这种问题。在我的 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。
这是我的解决方案:
尝试使用 brew uninstall 删除 boost,并从 /usr/local/include & /usr/local/lib 中删除所有相关的 boost include 和 lib 文件。
重新安装上述 brew & pip3 命令以重新安装所有相关库。
经过这两个步骤,我的 Mac 现在可以在 Python3 下正确使用 dlib。