Flask-Bootstrap安装失败问题解决

解决Flask-Bootstrap安装失败的问题
当尝试通过pip安装Flask-Bootstrap时遇到了证书验证失败的问题,导致安装失败。解决办法是直接从指定URL下载Flask-Bootstrap的压缩包,解压后在本地进行安装,从而成功安装了Flask-Bootstrap。

00x1 问题提出

 Collecting flask-bootstrap
 Could not fetch URL https://pypi.python.org/simple/flask-bootstrap/: There was a problem confirming the ssl certificate: [SSL: CERTIFICATE_VERIFY_FAILED] certificate verify failed (_ssl.c:749) - skipping

Could not find a version that satisfies the requirement flask-bootstrap (from versions: )

  No matching distribution found for flask-bootstrap

00x2 问题解决

根据错误提示信息,查找解决办法,发现并没有找到更好的解决办法。
错误提示的意思是:

收集flask-bootstrap无法获取URL https://pypi.python.org/simple/flask-bootstrap/:确认ssl证书有问题:[SSL:CERTIFICATE_VERIFY_FAILED]证书验证失败(_ssl.c:749) - s kipping找不到满足要求的版本flask-bootstrap(从版本:)没有找到匹配的发行版的flask-bootstrap

 于是采取了最笨的方法下载模块包进行安装。
       下载地址:https://pypi.python.org/pypi/Flask-Bootstrap
       下载后任意解压到任意目录,进入解压目录
     python setup.py install 
       安装成功

这里写图片描述

在新版的Bootstrap可用flask_bootstrap 代替 flask.ext.bootstrap导入flask-bootstrap模块

这里写图片描述

00x3 其他

如果各位有解决上述问题的办法,请教授与我,感之不尽
Flask-Bootstrap 提供了从本地加载 Bootstrap 资源的功能,以便在无法使用 CDN 的场景下,依然能够正常加载 Bootstrap 的 CSS 和 JavaScript 文件。通过配置 Flask-Bootstrap 的相关参数,可以将资源从 CDN 切换到本地路径。 Flask-Bootstrap 默认使用 CDN 加载资源,这可以通过 `ConditionalCDN` 类实现切换逻辑。例如,在 Flask-Bootstrap 源码中,使用了类似以下的结构来决定资源加载方式: ```python def lwrap(cdn, primary=static): return ConditionalCDN('BOOTSTRAP_SERVE_LOCAL', primary, cdn) ``` 该函数通过判断 `BOOTSTRAP_SERVE_LOCAL` 的值决定是否使用本地资源。如果设置 `BOOTSTRAP_SERVE_LOCAL=True`,则会优先使用本地资源,否则使用 CDN 提供的 URL [^1]。 ### 配置本地资源加载的方法 1. **在 Flask 应用配置中设置** 在 Flask 应用的配置中,设置 `BOOTSTRAP_SERVE_LOCAL = True` 可以强制 Flask-Bootstrap 使用本地资源: ```python app.config['BOOTSTRAP_SERVE_LOCAL'] = True ``` 这会覆盖默认的 CDN 行为,并使用 Flask-Bootstrap 扩展自带的本地资源路径 [^4]。 2. **手动替换资源路径(可选)** 如果希望完全自定义资源路径,可以在 Jinja2 模板中手动引入本地资源。例如: ```html <link rel="stylesheet" href="{{ url_for('static', filename='bootstrap.min.css') }}"> <script src="{{ url_for('static', filename='jquery.min.js') }}"></script> <script src="{{ url_for('static', filename='bootstrap.min.js') }}"></script> ``` 这种方式允许开发者将 Bootstrap 的 CSS 和 JS 文件下载到项目的 `static` 目录下,并通过 `url_for` 函数引用它们 [^2]。 3. **自定义资源目录(高级)** 如果需要更灵活的控制资源路径,可以通过修改 Flask-Bootstrap 的内部变量,例如替换 `bootstrap` 和 `jquery` 的 CDN 对象为本地路径: ```python from flask_bootstrap import WebCDN # 替换 CDN 为本地路径 app.extensions['bootstrap'].cdns['bootstrap'] = WebCDN('/static/bootstrap/') app.extensions['bootstrap'].cdns['jquery'] = WebCDN('/static/jquery/') ``` 此方法允许将资源目录映射到特定的本地路径,适用于需要高度定制的项目 [^1]。 4. **确保资源文件已放置在正确路径** 如果使用本地资源,需要确保 Bootstrap 的 CSS 和 JS 文件已经放置在 Flask 应用的 `static` 目录或指定的资源目录中。例如,将 `bootstrap.min.css` 和 `bootstrap.min.js` 放置在 `static/bootstrap/` 目录下 [^4]。 --- ### 优势与适用场景 - **无网络环境**:在内网或没有互联网连接的环境中,本地资源可以确保 Bootstrap 功能正常运行。 - **提高加载速度**:对于某些用户来说,本地资源可能比 CDN 更快,特别是当 CDN 服务器位于较远的地理位置时。 - **减少外部依赖**:本地化资源可以避免因 CDN 服务不可用而导致的页面加载失败问题 [^2]。 --- ### 总结 Flask-Bootstrap 支持通过配置切换 CDN 和本地资源加载方式,开发者可以通过设置 `BOOTSTRAP_SERVE_LOCAL=True` 或者手动引入本地资源文件来实现本地化配置。此外,还可以通过自定义 CDN 对象进一步控制资源路径,以适应不同项目需求 [^1]。 ---
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值