Pybind11 - Неудача в Трэвисе / Virtualenv - PullRequest
0 голосов
/ 11 января 2019

Мой проект Pybind нормально компилируется в моей системе, но когда я выполняю модульное тестирование на travis, он выдает следующую ошибку:

-- Found PythonInterp: /opt/pyenv/shims/python3.7 (found version "1.4") 
CMake Error at 3rdparty/pybind11/tools/FindPythonLibsNew.cmake:95 (message):
  Python config failure:
  pyenv: python3.7: command not found

  The `python3.7' command exists in these Python versions:
    3.7
    3.7.1

Кажется, это как-то связано с virtualenv, которым я никогда не пользовался. В настоящее время я понятия не имею, как решить эту проблему, и, учитывая, что это в экземпляре travis, я не уверен, как воссоздать его в моей системе, чтобы я мог исправить это

1 Ответ

0 голосов
/ 01 апреля 2019

В вашем случае происходит то, что Travis использует не ту версию Python.

Например, если вы используете Ubuntu 16.04 (Xenial) в вашей конфигурации .travis.yml, вы должны указать версию, которую вы хотите для Python, когда вы вызываете CMAKE.

Например, что-то вроде

cmake -DCMAKE_BUILD_TYPE=Release -DPYTHON_EXECUTABLE=$(python-config --prefix)/bin/python3.5 -DPYTHON_LIBRARY=$(python-config --prefix)/lib/libpython3.5m.so -DPYTHON_INCLUDE_DIR=$(python-config --prefix)/include/python3.5m .. 

Другие версии Ubuntu будут иметь разные версии Python.

Ссылки:

https://github.com/vgc/vgc/issues/42

https://github.com/pybind/pybind11/issues/99#issuecomment-207782425

...