Не удалось найти интерпретатор python - ошибка уценки Opencv

Я использую 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'
0
задан 30 September 2017 в 11:02

2 ответа

/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, но стоит попробовать.

-1
ответ дан 18 July 2018 в 05:59
/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, но стоит попробовать.

-1
ответ дан 24 July 2018 в 18:29

Другие вопросы по тегам:

Похожие вопросы: