簡體   English   中英

'reticulate' r-package 導入 python 腳本時出錯

[英]Error with 'reticulate' r-package importing python script

我正在嘗試使用“reticulate”包來導入“mycode.py”。 StackOverflow 上有很多問題,但是沒有一個可以解決我的問題。

我以兩種方式做了,但我得到了完全相同的錯誤。

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)

這可能是由於 Anaconda 附帶的libstdc++.so版本與系統上安裝的版本之間的兼容性。

  1. 確認 ~/anaconda3/lib/ 中有 libstdc++.so.6.0.xx (xx 是最新版本的替代品,我認為 27 是最新版本):

    ls libstdc++.so.6.0.*

  2. 確認 ~/anaconda3/lib/ 中有一個符號鏈接 libstdc++.so.6:

    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

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM