使用pipenv运行django-shop项目时遇libssl.so.1.0.0缺失错误求助
问题解决:ImportError: libssl.so.1.0.0 找不到文件
核心报错
执行pipenv run ./manage.py runserver启动django-shop项目时,出现以下关键错误:
ImportError: libssl.so.1.0.0: cannot open shared object file: No such file or directory
错误源于elasticsearch库导入ssl模块时,系统缺失对应的旧版本OpenSSL库文件。
解决方案
方案1:直接安装libssl1.0.0(Debian/Ubuntu系)
- 常规版本系统执行:
sudo apt-get update sudo apt-get install libssl1.0.0
- Ubuntu 20.04+等无官方源的版本,手动下载安装:
wget http://security.ubuntu.com/ubuntu/pool/main/o/openssl1.0/libssl1.0.0_1.0.2n-1ubuntu5.10_amd64.deb sudo dpkg -i libssl1.0.0_1.0.2n-1ubuntu5.10_amd64.deb
方案2:创建软链接适配现有高版本libssl
如果系统已安装更高版本的libssl(如libssl.so.1.1),可以通过软链接模拟旧版本文件:
- 查找系统中的libssl文件:
find /usr/lib -name "libssl.so*"
- 根据结果创建软链接(以x86_64系统为例):
sudo ln -s /usr/lib/x86_64-linux-gnu/libssl.so.1.1 /usr/lib/x86_64-linux-gnu/libssl.so.1.0.0
注意:请替换为实际查找得到的文件路径
方案3:调整项目依赖版本
修改项目的Pipfile,指定与系统环境兼容的elasticsearch版本(如7.x系列,需与django-elasticsearch-dsl版本匹配),然后更新依赖:
pipenv update
方案4:通过conda安装兼容版本的OpenSSL
利用miniconda安装旧版本OpenSSL,适配项目需求:
conda install openssl=1.0.2n
重新激活pipenv虚拟环境后启动项目。
内容的提问来源于stack exchange,提问作者MadPhysicist
相关产品推荐
相关产品推荐

