今天在导包的时候:

# from easydict import EasyDict as edict    # 成功
# import easydict.EasyDict as edict          # 失败

结果:

---------------------------------------------------------------------------
ModuleNotFoundError                       Traceback (most recent call last)
<ipython-input-209-21c167f50be7> in <module>1 # from easydict import EasyDict as edict    # 成功
----> 2 import easydict.EasyDict as edict          # 失败ModuleNotFoundError: No module named 'easydict.EasyDict'

原因:

Python中的import语句,即以下两种形式
import <some_package> [as <some_name>]
from <some_package> import <something> [as <some_name>]
(as <some_name>是重命名的部分,是可选的,这里不再赘述)
除了最终导进来的东西名字不同,还有个很多资料不曾提及的区别——前者只能导入包或者模块,不能导入模块中定义的类和函数等,而后者可以导入任何东西。
你这里的easydict就是一个模块,而EasyDict显然是这个模块给你定义的一个类。
所以import easydict.EasyDict是不允许的,因为这条语句只能导入模块。

参考文章:python 的两种导包方式为何结果不同? - 追远·J的回答 - 知乎

再做一个示例:

from core.config import cfg

从core包中的config模块导入cfg(类或函数或变量)

但如果要这样写就不行:

import core.config.cfg   # 错误

再加一个

from module import 和 import module之间的不同。使用 import module,模块自身被导入,
但是它保持着自已的名字空间,这就是为什么你需要使用模块名来访问它的函数或属性(module.function)
的原因。但是使用 from module import,实际上是从另一个模块中将指定的函数和属性导入到你自己的名字
空间,这就是为什么你可以直接访问它们却不需要引用它们所来源的模块的原因。

参考文章:Python两个内置函数——locals 和globals (学习笔记)

python 导包语法 import package as name 和 from package import name 的区别相关推荐

  1. Python 导包问题(importerror: attempted relative import with no known parent package)

    Python 导包问题(importerror: attempted relative import with no known parent package) 问题描述 解决方法 问题描述 今天想优 ...

  2. python导包路径问题_python的导包问题

    有事会遇到在python代码中导入包错误问题,本文简单对python包的引入做简单介绍 简单说,我认为python导包一共有3种情况,分别是: 要导的包与当前文件在同一层 要导的包在当前文件的底层(就 ...

  3. python导包顺序_2019-03-21 python导入包以及Python程序执行顺序理解

    http://codingpy.com/article/python-import-101/ https://segmentfault.com/a/1190000009842139 (一)Python ...

  4. Python导包、模块报错的问题

    import报错No module named "xxx"的问题 如何将指定目录作为项目根目录,让项目根目录下的包/模块都可以直接导入?(linux下) Python导入模块时,解 ...

  5. idea导包都报错_不仅仅要会导别人的包也要会导自定义的包——Python导包总结...

    1 前言 导包这个词我相信编程人员不会陌生.如何很好地在Python中导入别人的包以及自己写的工具函数?这时需要分清楚和用好的,特此总结以飨读者. 2 优雅地导入别人的包 当然这里主要指你使用pip( ...

  6. python导包的问题_python中包引入遇到的问题

    最近在用python的flask时候发现一点问题,代码组织如下 |-app |-__init__.py |-views.py |-operations.py |-xxx.py |-run.py 按照p ...

  7. python 导包 numpy_导入Python包时出错(例如Numpy)

    我正在使用一个计算群集,无法访问整个群集.因此,我尝试在本地(在我的"home"目录中)安装python的包,但是从脚本导入它们时遇到了问题.在 我试图更新我的路径和PYTHONP ...

  8. ImportError: cannot import name ‘xxx‘ from ‘xxx‘关于python导包的问题

    github clone下来的代码,在矩池云跑的好好的,在自己电脑跑却报错. ImportError: cannot import name 'helper' from 'utils' (D:\ana ...

  9. python导包报错from xxx import yyy no module named ‘xxx‘

    import os import sys sys.path.append(os.path.dirname(os.path.dirname(os.path.abspath(__file__)))) fr ...

最新文章

  1. 网络工程师_记录的一些真题_2017下半年上午
  2. JSP常用标签——JSTL标签和EL表达式
  3. 赠书 | 《数据驱动:从方法到实践》预售正式开启
  4. wtl for duilib 运行良好
  5. 如何从XMLHttpRequest创建自定义获取API
  6. badboy设置中文_[转载]Badboy使用教程
  7. Java Servlet ServletContext
  8. 百家号 python高手养成_python高手养成记04:python的所有数据类型,一篇足矣
  9. c语言怎样计算栈的长度,请问,用c语言做一个计算器 包括+-*/()的运算 用栈 该怎么做...
  10. 7-36 BCD解密 (10 分)
  11. Mac电脑如何调整鼠标灵敏度
  12. java springboot图书借阅管理系统源码
  13. C语言数据结构理解语句L = (LNode * )malloc(sizeof(LNode));
  14. 第一次进入页面,访问服务器图片报404,刷新或者回退重新进入,就可以加载图片。
  15. C语言中的光标定位函数
  16. 北京15家颜值爆表的餐厅!90%的妹纸来这里都不是为了吃饭
  17. excel选择性粘贴为何是html,Excel选择性粘贴预览有什么功能
  18. mysql utf8mb4 bin_Mysql的utf8与utf8mb4区别,utf8mb4_bin、utf8mb4_general_ci与utf8mb4_unicode_ci的选择...
  19. 【学习笔记】深入理解及个人感悟JavaWeb
  20. 电商用户数据分析报告

热门文章

  1. scala spark 埋点统计_spark—1:WordCount(Python与Scala对照)
  2. python的tkinter编写计算器_Python+Tkinter 实现计算器功能
  3. Smart Form中打印图标或符号
  4. sap 里的用户菜单是灰色的,不可用的解决方法
  5. SAP ABAP OLE 输出数据到 Excel 无法自动保存的解决
  6. ABAP Submit 用法解析
  7. get这款工具,不会机器学习也能轻松搞定深度分析
  8. 下沉市场惊现出行小巨头 松果共享电单车日订单破300w
  9. linux下python安装opencv库_Linux下怎么配置python和opencv
  10. 加速安装LibcSeacher