zoukankan      html  css  js  c++  java
  • django项目 报错:ImportError: cannot import name choice

    今天项目开发中遇到一个错误,排查了很久才发现原因,现在分享出来,希望对大家有所帮助。

    错误描述:在项目中添加了一个random.py的类,导入random中的choice,并在randstr方法中使用,运行randstr方法,报错:

    ImportError: cannot import name choice 

    查看import库的源文件,发现源文件存在且没有错误。后来经过一番搜索查询,发现是py文件的命名问题,random.py与源文件random名字相同,所以才会报错。

    修改random.py文件的文件名为rand.py,运行,依然报相同的错误。这是因为random.py运行时,会产生相对应地pyc文件,如果不更新该文件,运行时依然运行原来的random.pyc文件,所以会报错。删除random.pyc文件,再次运行,成功。

    问题解决方法总结:

    1. 命名py脚本时,不要与python预留字,模块名等相同

    2. 删除该库的.pyc文件(因为py脚本每次运行时均会生成.pyc文件;在已经生成.pyc文件的情况下,若代码不更新,运行时依旧会走pyc,所以要删除.pyc文件),重新运行代码;或者找一个可以运行代码的环境,拷贝替换当前机器的.pyc文件即可

  • 相关阅读:
    ontentEditable和designMode的区别
    execCommand、queryCommandState
    ios微信h5音频audio无法自动播放
    微信二次分享图片不显示
    Airbnb javascript编码规范
    array reduce
    适配iPhoneX全屏
    web前端性能优化
    requestAnimationFrame实现动画
    js 中的forEach,for in ,for of 的使用
  • 原文地址:https://www.cnblogs.com/wangyingblock/p/10756370.html
Copyright © 2011-2022 走看看