Ошибка при 'reticulate' скрипте импорта * r * пакета r * - PullRequest
1 голос
/ 22 января 2020

Я пытаюсь использовать пакет "reticulate" для импорта mycode.py. Есть много вопросов по StackOverflow, но ни один из них не может решить мою проблему.

Я сделал 2 раза, но я получаю совершенно ту же ошибку.

1) source_python("/user/mycode.py")

и я получаю эту ошибку:

Error in py_run_file_impl(file, local, convert) : ImportError: /lib64/libstdc++.so.6: version `CXXABI_1.3.9' not found (required by /user/.conda/envs/myenv/lib/python3.7/site-packages/scipy/sparse/_sparsetools.cpython-37m-x86_64-linux-gnu.so)

2) import_from_path('mycode', path='/user/', convert=TRUE)

, и я получаю эту ошибку:

Error in py_module_import(module, convert = convert) : ImportError: /lib64/libstdc++.so.6: version `CXXABI_1.3.9' not found (required by /user/.conda/envs/myenv/lib/python3.7/site-packages/scipy/sparse/_sparsetools.cpython-37m-x86_64-linux-gnu.so)

1 Ответ

0 голосов
/ 22 января 2020

Вероятно, это связано с совместимостью версии libstdc++.so, поставляемой с Anaconda, и версии, установленной в вашей системе.

  1. Убедитесь, что существует libstdc ++. 6.0.xx в ~ / anaconda3 / lib / (xx - замена самой последней версии, я думаю, что 27 - самая последняя):

    ls libstdc++.so.6.0.*

  2. Подтвердите что есть символическая ссылка libstdc ++. so.6 в ~ / anaconda3 / lib /:

    ls libstdc++.so.6

  3. Удалите существующую символическую ссылку (если она указывает на другую версию libstdc ++. so):

    rm ~/anaconda3/lib/libstdc++.so.6

  4. Привязать его к libstdc ++. so.6.0.xx:

    ln -s libstdc++.so.6.0.xx libstdc++.so.6

...