'reticulate' r-package 导入 python 脚本时出错
Error with 'reticulate' r-package importing python script
我正在尝试使用 "reticulate" 包导入 'mycode.py'。
Whosebug上有很多问题,但没有一个能解决我的问题。
我用两种方法做了,但我得到了完全相同的错误。
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
版本与您系统上安装的版本之间的兼容性。
确认~/anaconda3/lib/中有一个libstdc++.so.6.0.xx(xx是最新版本的替换,我觉得27是最新的):
ls libstdc++.so.6.0.*
确认~/anaconda3/lib/:
中有符号链接libstdc++.so.6
ls libstdc++.so.6
删除现有的符号链接(如果它指向另一个版本的 libstdc++.so):
rm ~/anaconda3/lib/libstdc++.so.6
重新链接到 libstdc++.so.6.0.xx:
ln -s libstdc++.so.6.0.xx libstdc++.so.6
我正在尝试使用 "reticulate" 包导入 'mycode.py'。 Whosebug上有很多问题,但没有一个能解决我的问题。
我用两种方法做了,但我得到了完全相同的错误。
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
版本与您系统上安装的版本之间的兼容性。
确认~/anaconda3/lib/中有一个libstdc++.so.6.0.xx(xx是最新版本的替换,我觉得27是最新的):
ls libstdc++.so.6.0.*
确认~/anaconda3/lib/:
中有符号链接libstdc++.so.6ls libstdc++.so.6
删除现有的符号链接(如果它指向另一个版本的 libstdc++.so):
rm ~/anaconda3/lib/libstdc++.so.6
重新链接到 libstdc++.so.6.0.xx:
ln -s libstdc++.so.6.0.xx libstdc++.so.6