ImportError: libboost_python.so.1.41.0: невозможно открыть файл общих объектов: нет такого файла или каталога

Я пытаюсь установить PyV8 в debian (я тоже пытался установить ubuntu) в соответствии с инструкциями здесь http://www.wikisecure.net/importing-pyv8-engine-into-python-v2-7-the-easy-way/

Однако я всегда получаю ImportError: libboost_python.so.1.41.0: невозможно открыть файл общего объекта: нет такого файла или каталога

Я установил boost с помощью apt-get install. Я перепробовал много руководств, как установить PyV8, но ничего не работает, поэтому, если у кого-то есть что-то, что сработало или как исправить мою ошибку, я был бы рад.

Спасибо за совет


person Fr. Hrdina    schedule 19.07.2016    source источник
comment
Какие пакеты Boost вы установили? Boost состоит из набора библиотек, большинство из которых предназначены только для заголовков и поэтому устанавливаются вместе в Debian и Ubuntu, но двоичные библиотеки, такие как libboost-python, упаковываются отдельно. Установка libboost-all-dev - самый простой способ получить все возможности Boost.   -  person Josh Kelley    schedule 19.07.2016
comment
Я установил libbost-all-dev.   -  person Fr. Hrdina    schedule 19.07.2016


Ответы (1)


Попробуйте установить libboost-all-dev, там должен быть отсутствующий файл.

Для ясности: на самом деле сработало копирование и переименование более поздней версии libboost в 1.41. Я бы не рекомендовал это как первое решение, если возможно получение правильной версии.

person Max Uppenkamp    schedule 19.07.2016
comment
Я делал это раньше. - person Fr. Hrdina; 19.07.2016
comment
вы смотрели путь к своей библиотеке? Возможно, вы установили более позднюю версию. Я вижу, вы используете python 2 и ищете довольно старую версию boost. - person Max Uppenkamp; 19.07.2016
comment
Я использую Python 2.7. Где я могу найти путь к библиотеке? Я не совсем понимаю, что вы имеете ввиду. - person Fr. Hrdina; 19.07.2016
comment
/ usr / local / lib Если вы используете Ubuntu или Arch, в противном случае вам поможет Google. - person Max Uppenkamp; 19.07.2016
comment
У меня есть python2.7, python 3.4, x86_64-linux-gnu - person Fr. Hrdina; 19.07.2016
comment
Там должно быть много файлов .so. один из которых должен начинаться с libboost_python ... - person Max Uppenkamp; 19.07.2016
comment
Это: /usr/lib/x86_64-linux-gnu/libboost_python-py34.a ./usr/lib/x86_64-linux-gnu/libboost_python-py27.so ./usr/lib/x86_64-linux-gnu/libboost_python- py27.so.1.55.0 ./usr/lib/x86_64-linux-gnu/libboost_python-py34.so ./usr/lib/x86_64-linux-gnu/libboost_python.so ./usr/lib/x86_64-linux-gnu /libboost_python-py34.so.1.55.0 ./usr/lib/x86_64-linux-gnu/libboost_python-py27.a ./usr/lib/x86_64-linux-gnu/libboost_python.a - person Fr. Hrdina; 19.07.2016
comment
Как я и подозревал, вы установили более новую версию, в данном случае 1.55. Теперь у вас есть несколько вариантов: 1) Обновите свое программное обеспечение, чтобы оно использовало текущие версии повышения. 2) Понизьте версию своей буст-инсталляции или установите отдельный более старый буст-пакет. 3) КОПИРУЙТЕ и переименуйте файл libboost_python.so.1.55.0 в libboost_python.so.1.41.0 и молитесь, чтобы он работал. - person Max Uppenkamp; 19.07.2016
comment
Спасибо за совет. Боюсь, более новой версии PyV8 нет. Я попробую вариант 2 или вариант 3. - person Fr. Hrdina; 19.07.2016
comment
Я пытаюсь установить старую версию, но получаю сообщение об ошибке: зависимость не выполняется, и я не знаю, как ее исправить. - person Fr. Hrdina; 20.07.2016
comment
Вероятно, потому что более старая версия требует старых зависимостей, которых больше нет в репозиториях. Попробуйте вариант переименования. - person Max Uppenkamp; 20.07.2016