【已解决】ImportError: DLL load failed while importing _ssl: 找不到指定的模块。 bat 脚本运行 django 报错。

起因

运行 Django 网站报错。在 Pycharm 中运行的时候没问题,同样的命令,bat脚本运行就报错。

刚开始以为是参数的锅,后来发现是环境变量没配好。但最终还是用临时环境变量解决。

解决

ssl 模块并不是不存在,只是没被找到罢了。

一般来说,把 ssl 所在路径,加到环境变量里即可:

ssl 在 Library\bin 目录下。

确保这三个路径都添加了,避免麻烦。

D:\xxx\anaconda3-2020\Library\bin
D:\xxx\anaconda3-2020\Scripts
D:\xxx\anaconda3-2020

但是我发现这种做法对我没用,依然报错 _ssl。

在 Pycharm 里可以运行,用 cmd 同样的命令也可以运行,偏偏用 bat 脚本就不行。

我在 bat 和 cmd 分别打印出 python 版本和 PATH 路径值,发现 bat 路径竟然少了 bin 的路径。
我不明白为什么明明刚刚添加的路径没起作用,也许重启能解决。

我的解决办法: 增加临时环境变量。只要程序运行期间起作用就行了。

完整的测试脚本如下:

@echo off
python --version
echo %PATH%
set sslpath=D:\xxx\anaconda3-2020\Library\bin
set path=%sslpath%;%path%
python manage.py runserver 0.0.0.0:8001
REM D:\\xxx\\anaconda3-2020\\python.exe E:\\yyy\\manage.py runserver 0.0.0.0:8001 --noreload
pause

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值