Я использую Ubuntu 14.04 и пытаюсь установить opencv 3.3.0. Хотя я выполняю cmake для получения файлов make, он не может найти интерпретатор Python, отображая следующее сообщение (хотя cmake продолжается)
-- Could NOT find PythonInterp: Found unsuitable version "2.7.6",
but required is at least "3.4" (found /usr/bin/python)
-- Could NOT find PythonInterp: Found unsuitable version "2.7.6",
but required is at least "3.2" (found /usr/bin/python)
Когда я проверяю (хотя cmake ) , я мог видеть там библиотеки библиотек / двоичные файлы (найденные на изображении ниже)
Я также мог видеть следующие версии python
python python2.7-config python3.4 python3.4m-
config python3.5m-config python3m-config
python2 python2-config python3.4-config python3.5
python3-config python-config
python2.7 python3 python3.4m python3.5m
python3m python-mkdebian
Как я могу это решить? Из-за этой проблемы я не могу использовать (найденный на изображении ниже) в моем сценарии python, так как он выдает следующую ошибку:
ImportError: No module named 'cv2'
/usr/bin/python
является символической ссылкой.
Попробуйте
ls -l /usr/bin/python
Вероятно, это указывает на python2.7
Вам нужно сделать (как root)
ln -f -s /usr/bin/python3.4 /usr/bin/python
Это удалит старую символическую ссылку (из-за -f) и создаст новую, указывающую на python3.4.
К сожалению, существует некоторая несовместимость между версией python версии 2 и python версии 3, поэтому приведенные выше инструкции могут разорвать некоторые другие приложения. Если вы видите эту проблему, попробуйте обновить версию cmake. cmake, похоже, ищет интерпретатор python, используя список в файле
/usr/share/cmake-<version>/Modules/FindPythonInterp.cmake
Если у вас есть более старая версия этого файла, которая содержит строку типа
set(_PYTHON3_VERSIONS 3.3 3.2 3.1 3.0)
, вы можете попробуйте изменить его на
set(_PYTHON3_VERSIONS 3.4 3.3 3.2 3.1 3.0)
Я не пробовал это сам, поскольку у меня есть более новая версия cmake, но стоит попробовать.
/usr/bin/python
является символической ссылкой.
Попробуйте
ls -l /usr/bin/python
Вероятно, это указывает на python2.7
Вам нужно сделать (как root)
ln -f -s /usr/bin/python3.4 /usr/bin/python
Это удалит старую символическую ссылку (из-за -f) и создаст новую, указывающую на python3.4.
К сожалению, существует некоторая несовместимость между версией python версии 2 и python версии 3, поэтому приведенные выше инструкции могут разорвать некоторые другие приложения. Если вы видите эту проблему, попробуйте обновить версию cmake. cmake, похоже, ищет интерпретатор python, используя список в файле
/usr/share/cmake-<version>/Modules/FindPythonInterp.cmake
Если у вас есть более старая версия этого файла, которая содержит строку типа
set(_PYTHON3_VERSIONS 3.3 3.2 3.1 3.0)
, вы можете попробуйте изменить его на
set(_PYTHON3_VERSIONS 3.4 3.3 3.2 3.1 3.0)
Я не пробовал это сам, поскольку у меня есть более новая версия cmake, но стоит попробовать.