Traceback (most recent call last):
File “/root/.virtualenvs/flask_blog/bin/flask”, line 8, in
sys.exit(main())
File “/root/.virtualenvs/flask_blog/lib/python3.8/site-packages/flask/cli.py”, line 966, in main
cli.main(prog_name=“python -m flask” if as_module else None)
File “/root/.virtualenvs/flask_blog/lib/python3.8/site-packages/flask/cli.py”, line 586, in main
return super(FlaskGroup, self).main(*args, **kwargs)
File “/root/.virtualenvs/flask_blog/lib/python3.8/site-packages/click/core.py”, line 717, in main
rv = self.invoke(ctx)
File “/root/.virtualenvs/flask_blog/lib/python3.8/site-packages/click/core.py”, line 1135, in invoke
sub_ctx = cmd.make_context(cmd_name, args, parent=ctx)
File “/root/.virtualenvs/flask_blog/lib/python3.8/site-packages/click/core.py”, line 641, in make_context
self.parse_args(ctx, args)
File “/root/.virtualenvs/flask_blog/lib/python3.8/site-packages/click/core.py”, line 940, in parse_args
value, args = param.handle_parse_result(ctx, opts, args)
File “/root/.virtualenvs/flask_blog/lib/python3.8/site-packages/click/core.py”, line 1476, in handle_parse_result
value = invoke_param_callback(
File “/root/.virtualenvs/flask_blog/lib/python3.8/site-packages/click/core.py”, line 96, in invoke_param_callback
return callback(ctx, param, value)
File “/root/.virtualenvs/flask_blog/lib/python3.8/site-packages/flask/cli.py”, line 742, in _validate_key
is_context = isinstance(cert, ssl.SSLContext)
AttributeError: ‘NoneType’ object has no attribute ‘SSLContext’
Python 版本大于 2.7.8 按理说不会出现这个问题,有可能是依赖管理工具或是 Python 版本的问题。麻烦提供下面的信息:
- OS 和版本
- Python 发行版来源
- Flask 版本
- 安装 Flask 时使用的工具和版本
可以试试重装 Python、pip 和 Flask(以及其他使用的依赖管理工具)……
1 个赞
是的,Python安装的时候没有带ssl模块
试试用系统的包管理工具安装openssl-devel包(不同系统名称有差异),然后重新安装 Python
还有如果没有足够的知识不建议从源码编译Python,尽量通过系统提供的包管理器安装
1 个赞
我也偶尔会出现这个问题,重启pycharm就没事了,网上说是环境变量配置不对,但我试了,没有用。
我本地mac 安装wget时候顺带把openssl 从1.0 升级到了1.1 了。 然后flask run 时候也是上述错误。
搜了好长时间无解,还好我本地python3 是brew安装的,直接brew upgrade 从3.7.3 升级到 3.7.7
解决了这个问题。
flask 起来了,运行项目数据库模块却报错: Library not loaded: /usr/local/opt/openssl/lib/libssl.1.0.0.dylib
我去,我本地的libssl 库已经是1.1了。。你当然找不到。
无奈pip3 uninstall 该数据库模块,重新安装。。
好像python3.7.4 开始默认支持的openssl是1.1 老版本的不支持了。 如果无解就用最新版本的python吧。
1 个赞