当前位置: 首页 > news >正文

阿里邮箱 网站开发wordpress如何不显示评论

阿里邮箱 网站开发,wordpress如何不显示评论,做网页怎么建站点,手机本地建WordPress? “Python猫” #xff0c;一个值得加星标的公众号在写 Python 项目的时候#xff0c;我们可能经常会遇到导入模块失败的错误#xff1a;ImportError: No module named xxx或者ModuleNotFoundError: No module named xxx。导入失败问题#xff0c;通常分为两种#xff1… ? “Python猫” 一个值得加星标的公众号在写 Python 项目的时候我们可能经常会遇到导入模块失败的错误ImportError: No module named xxx或者ModuleNotFoundError: No module named xxx。导入失败问题通常分为两种一种是导入自己写的模块(即以 .py 为后缀的文件)另一种是导入三方库。本文主要讨论第二种情况今后有机会我们再详细讨论其它的相关话题。解决导入 Python 库失败的问题其实关键是在运行环境中装上缺失的库(注意是否是虚拟环境)或者使用恰当的替代方案。这个问题又分为三种情况一、单个模块中缺失的库在编写代码的时候如果我们需要使用某个三方库(如 requests)但不确定实际运行的环境是否装了它那么可以这样try:    import requestsexcept ImportError:    import os    os.system(pip install requests)    import requests这样写的效果是如果找不到 requests 库就先安装再导入。在某些开源项目中我们可能还会看到如下的写法(以 json 为例)try:    import simplejson as jsonexcept ImportError:    import json这样写的效果是优先导入三方库 simplejson如果找不到那就使用内置的标准库 json。这种写法的好处是不需要导入额外的库但它有个缺点即需要保证那两个库在使用上是兼容的如果在标准库中找不到替代的库那就不可行了。如果真找不到兼容的标准库也可以自己写一个模块(如 my_json.py)实现想要的东西然后在 except 语句中导入它。try:    import simplejson as jsonexcept ImportError:    import my_json as json二、整个项目中缺失的库以上的思路是针对开发中的项目但是它有几个不足1、在代码中对每个可能缺失的三方库都 pip install并不可取2、某个三方库无法被标准库或自己手写的库替代该怎么办3、已成型的项目不允许做这些修改怎么办所以这里的问题是有一个项目想要部署到新的机器上它涉及很多三方库但是机器上都没有预装该怎么办 对于一个合规的项目按照约定通常它会包含一个“requirements.txt ”文件记录了该项目的所有依赖库及其所需的版本号。这是在项目发布前使用命令pip freeze requirements.txt 生成的。使用命令pip install -r requirements.txt (在该文件所在目录执行或在命令中写全文件的路径)就能自动把所有的依赖库给装上。但是如果项目不合规或者由于其它倒霉的原因我们没有这样的文件又该如何是好一个笨方法就是把项目跑起来等它出错遇到一个导库失败就手动装一个然后再跑一遍项目遇到导库失败就装一下如此循环……(此处省略 1 万句脏话)……三、自动导入任意缺失的库有没有一种更好的可以自动导入缺失的库的方法呢 在不修改原有的代码的情况下在不需要“requirements.txt”文件的情况下有没有办法自动导入所需要的库呢当然有先看看效果我们以 tornado 为例第一步操作可看出我们没有装过 tornado经过第二步操作后再次导入 tornado 时程序会帮我们自动下载并安装好 tornado所以不再报错。autoinstall 是我们手写的模块代码如下# 以下代码在 python 3.6.1 版本验证通过import sysimport osfrom importlib import import_moduleclass AutoInstall():    _loaded  set()    classmethod    def find_spec(cls, name, path, targetNone):            if path is None and name not in cls._loaded:                cls._loaded.add(name)                print(Installing, name)                try:                    result  os.system(pip install {}.format(name))                    if result  0:                        return import_module(name)                except Exception as e:                    print(Failed, e)            return Nonesys.meta_path.append(AutoInstall)这段代码中使用了sys.meta_path 我们先打印一下看看它是个什么东西Python 3 的 import 机制在查找过程中大致顺序如下在 sys.modules 中查找它缓存了所有已导入的模块在 sys.meta_path 中查找它支持自定义的加载器在 sys.path 中查找它记录了一些库所在的目录名若未找到抛出ImportError异常其中要注意sys.meta_path 在不同的 Python 版本中有所差异比如它在 Python 2 与 Python 3 中差异很大在较新的 Python 3 版本(3.4)中自定义的加载器需要实现find_spec方法而早期的版本用的则是find_module。以上代码是一个自定义的类库加载器 AutoInstall可以实现自动导入三方库的目的。需要说明一下这种方法会“劫持”所有新导入的库破坏原有的导入方式因此也可能出现一些奇奇怪怪的问题敬请留意。sys.meta_path 属于 Python 探针的一种运用。探针即import hook是 Python 几乎不受人关注的机制但它可以做很多事例如加载网络上的库、在导入模块时对模块进行修改、自动安装缺失库、上传审计信息、延迟加载等等。限于篇幅我们不再详细展开了。最后小结一下可以用 try…except 方式实现简单的三方库导入或者替换已知全部缺失的依赖库时(如 requirements.txt)可以手动安装利用 sys.meta_path可以自动导入任意的缺失库参考资料 https://github.com/liuchang0812/slides/tree/master/pycon2015cnhttp://blog.konghy.cn/2016/10/25/python-import-hookhttps://docs.python.org/3/library/sys.html#sys.meta_path作者简介豌豆花下猫生于广东毕业于武大现为苏漂程序员有一些极客思维也有一些人文情怀有一些温度还有一些态度。优质文章推荐阅读辟谣错误的爬虫说法使用正确的爬虫姿势为什么range不是迭代器range到底是什么类型Python 工匠使用装饰器的技巧Python 从业十年是种什么体验老程序员的一篇万字经验分享激励猫哥写出更多好文
http://www.zqtcl.cn/news/42095/

相关文章:

  • 黄山做网站公司惠州seo网站推广
  • api网站模板网站设计济南
  • 58同城有做网站上海网页设计公司怎么样
  • wordpress怎么添加目录googleseo服务
  • 政协门户网站建设方案wordpress更换网站域名
  • 郑州代理记账网站建设现在建设网站都用什么软件下载
  • 企业网站 建设公司网站设计师对应的专业
  • 双色调网站离石网站建设公司
  • 网站单页面制作海宁公司做网站
  • PS的网站linchong.wordpress
  • 唐山正规做网站的公司广告设计图片大全 模板
  • 青岛市网站建设如何做实验室网站
  • 中山网站建设案例深圳市公司排名
  • 儿童网站模板 html泉州seo搜索优化合作
  • 做相册的网站dw邯郸 网站建设
  • 网站安全建设方案青岛做网站电话
  • 企业网站货物查询怎么做如何设计一个高端网站简洁大方大气
  • 深圳建设材料价格网站dw网页设计图片轮播切换
  • 建立网站的详细步骤知乎绍兴手机网站建设
  • 电子商务网站调研安阳网站建设优化渠道
  • 导航网站搭建镜像的网站怎么做排名
  • 020网站开发深圳十大活动策划公司
  • 网站推广的具体方案手机版企业网站
  • 天津网站设计公司排名网站外链建设大揭秘
  • 爱站网关键词查询工具小程序小游戏开发
  • 企业网站建设文章国外购物平台网页界面设计
  • 推广网站广告网站后台怎么做图片链接
  • 2016wap网站开发语言wordpress显示特效
  • php 视频播放网站开发企业宣传视频模板免费下载
  • 百捷网站建设工资seo基础理论