Replit中Python3.10+Flask环境导入Spacy时libstdc++.so.6缺失求助
解决Replit中Python Flask应用导入Spacy时的
libstdc++.so.6缺失错误 问题分析
错误ImportError: libstdc++.so.6: cannot open shared object file: No such file or directory源于Spacy的依赖库(如srsly的ujson模块)依赖系统级libstdc++库,但Replit默认环境中该库路径未正确配置或版本不兼容。
解决方案
1. 安装/升级系统libstdc++库
在Replit的Shell中执行以下命令,更新并安装最新版的libstdc++:
sudo apt-get update && sudo apt-get install -y libstdc++6
若Replit使用Nix环境,改用:
pkg install libstdc++
2. 配置LD_LIBRARY_PATH环境变量
若安装后仍报错,需指定共享库加载路径。运行Flask应用前执行:
export LD_LIBRARY_PATH=/usr/lib/x86_64-linux-gnu:$LD_LIBRARY_PATH
如需永久生效,将配置添加到项目的replit.nix文件中:
{ pkgs }: { deps = [ pkgs.python310 pkgs.libstdcxx6 ]; env = { LD_LIBRARY_PATH = "${pkgs.libstdcxx6}/lib:$LD_LIBRARY_PATH"; }; }
3. 重新安装适配环境的Spacy及依赖
先卸载现有冲突包:
pip uninstall -y spacy thinc srsly confection
再安装适配Replit环境的稳定版Spacy:
pip install spacy==3.5.3
内容的提问来源于stack exchange,提问作者Lusine Baghdasaryan
相关产品推荐
相关产品推荐

