IT数码 购物 网址 头条 软件 日历 阅读 图书馆
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
图片批量下载器
↓批量下载图片,美女图库↓
图片自动播放器
↓图片自动播放器↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁
 
   -> Python知识库 -> 【ModuleNotFoundError & ImportError】之导入语句全列举 -> 正文阅读

[Python知识库]【ModuleNotFoundError & ImportError】之导入语句全列举


前言

提示:这里可以添加本文要记录的大概内容:

本文是作为对之前发表的《【ModuleNotFoundError & ImportError】之失败的尝试》的补充。

采用之前总结的对 import statement、sys.path 等内容的总结,在此尝试列举了全部的导入语句,并在 Spyder 与 PyCharm 里逐一尝试。结果是:能在 Spyder 里运行的导入语句,也可以在 PyCharm 里运行。

系统环境:
Win7-64bit
Spyder 4.2.5 ( Python 3.7.10)
PyCharm 2021.2.4(Community Ed.,调用 conda 环境)


提示:以下是本篇文章正文内容,下面案例可供参考

1 呈现所建项目

在这里插入图片描述

2 导入语句列举

在这里插入图片描述

2.1. Spyder 导入测试

# package 测试
import sr
import 导入测试.sr    # ModuleNotFoundError: No module named '导入测试'

import pkg    # ModuleNotFoundError: No module named 'pkg'
import sr.pkg
import 导入测试.sr.pkg    # ModuleNotFoundError: No module named '导入测试'

import pkg1    # ModuleNotFoundError: No module named 'pkg1'
import pkg.pkg1    # ModuleNotFoundError: No module named 'pkg'
import sr.pkg.pkg1
import 导入测试.sr.pkg.pkg1    # ModuleNotFoundError: No module named '导入测试'

import pkg2    # ModuleNotFoundError: No module named 'pkg2'
import pkg1.pkg2    # ModuleNotFoundError: No module named 'pkg1'
import pkg.pkg1.pkg2    # ModuleNotFoundError: No module named 'pkg'
import sr.pkg.pkg1.pkg2
import 导入测试.sr.pkg.pkg1.pkg2    # ModuleNotFoundError: No module named '导入测试'

from 导入测试 import sr    # ModuleNotFoundError: No module named '导入测试'

from sr import pkg
from 导入测试.sr import pkg    # ModuleNotFoundError: No module named '导入测试'

from pkg import pkg1    # ModuleNotFoundError: No module named 'pkg'
from sr.pkg import pkg1
from 导入测试.sr.pkg import pkg1    # ModuleNotFoundError: No module named '导入测试'

from pkg1 import pkg2    # ModuleNotFoundError: No module named 'pkg1'
from pkg.pkg1 import pkg2    # ModuleNotFoundError: No module named 'pkg'
from sr.pkg.pkg1 import pkg2
from 导入测试.sr.pkg.pkg1 import pkg2    # ModuleNotFoundError: No module named '导入测试'

# module 测试
import module    # ModuleNotFoundError: No module named 'module'
import sr.module
import 导入测试.sr.module    # ModuleNotFoundError: No module named '导入测试'

import module0    # ModuleNotFoundError: No module named 'module0'
import pkg.module0    # ModuleNotFoundError: No module named 'pkg'
import sr.pkg.module0
import 导入测试.sr.pkg.module0    # ModuleNotFoundError: No module named '导入测试'

import module1    # ModuleNotFoundError: No module named 'module1'
import pkg1.module1    # ModuleNotFoundError: No module named 'pkg1'
import pkg.pkg1.module1    # ModuleNotFoundError: No module named 'pkg'
import sr.pkg.pkg1.module1
import 导入测试.sr.pkg.pkg1.module1    # ModuleNotFoundError: No module named '导入测试'

import module2    # ModuleNotFoundError: No module named 'module2'
import pkg2.module2    # ModuleNotFoundError: No module named 'pkg2'
import pkg1.pkg2.module2    # ModuleNotFoundError: No module named 'pkg1'
import pkg.pkg1.pkg2.module2    # ModuleNotFoundError: No module named 'pkg'
import sr.pkg.pkg1.pkg2.module2
import 导入测试.sr.pkg.pkg1.pkg2.module2    # ModuleNotFoundError: No module named '导入测试'

from sr import module
from 导入测试.sr import module    # ModuleNotFoundError: No module named '导入测试'

from pkg import module0    # ModuleNotFoundError: No module named 'pkg'
from sr.pkg import module0
from 导入测试.sr.pkg import module0    # ModuleNotFoundError: No module named '导入测试'

from pkg1 import module1    # ModuleNotFoundError: No module named 'pkg1'
from pkg.pkg1 import module1    # ModuleNotFoundError: No module named 'pkg'
from sr.pkg.pkg1 import module1
from 导入测试.sr.pkg.pkg1 import module1    # ModuleNotFoundError: No module named '导入测试'

from pkg2 import module2    # ModuleNotFoundError: No module named 'pkg2'
from pkg1.pkg2 import module2    # ModuleNotFoundError: No module named 'pkg1'
from pkg.pkg1.pkg2 import module2    # ModuleNotFoundError: No module named 'pkg'
from sr.pkg.pkg1.pkg2 import module2
from 导入测试.sr.pkg.pkg1.pkg2 import module2    # ModuleNotFoundError: No module named '导入测试'

# class 测试
from sr.module import Class
from 导入测试.sr.module import Class    # ModuleNotFoundError: No module named '导入测试'

from pkg.module0 import Class    # ModuleNotFoundError: No module named 'pkg'
from sr.pkg.module0 import Class
from 导入测试.sr.pkg.module0 import Class    # ModuleNotFoundError: No module named '导入测试'

from pkg1.module1 import Class    # ModuleNotFoundError: No module named 'pkg1'
from pkg.pkg1.module1 import Class    # ModuleNotFoundError: No module named 'pkg'
from sr.pkg.pkg1.module1 import Class
from 导入测试.sr.pkg.pkg1.module1 import Class    # ModuleNotFoundError: No module named '导入测试'

from pkg2.module2 import Class    # ModuleNotFoundError: No module named 'pkg2'
from pkg1.pkg2.module2 import Class    # ModuleNotFoundError: No module named 'pkg1'
from pkg.pkg1.pkg2.module2 import Class    # ModuleNotFoundError: No module named 'pkg'
from sr.pkg.pkg1.pkg2.module2 import Class
from 导入测试.sr.pkg.pkg1.pkg2.module2 import Class    # ModuleNotFoundError: No module named '导入测试'

# function 测试
from sr.module import func
from 导入测试.sr.module import func    # ModuleNotFoundError: No module named '导入测试'

from pkg.module0 import func    # ModuleNotFoundError: No module named 'pkg'
from sr.pkg.module0 import func
from 导入测试.sr.pkg.module0 import func    # ModuleNotFoundError: No module named '导入测试'

from pkg1.module1 import func    # ModuleNotFoundError: No module named 'pkg1'
from pkg.pkg1.module1 import func    # ModuleNotFoundError: No module named 'pkg'
from sr.pkg.pkg1.module1 import func
from 导入测试.sr.pkg.pkg1.module1 import func    # ModuleNotFoundError: No module named '导入测试'

from pkg2.module2 import func    # ModuleNotFoundError: No module named 'pkg2'
from pkg1.pkg2.module2 import func    # ModuleNotFoundError: No module named 'pkg1'
from pkg.pkg1.pkg2.module2 import func    # ModuleNotFoundError: No module named 'pkg'
from sr.pkg.pkg1.pkg2.module2 import func
from 导入测试.sr.pkg.pkg1.pkg2.module2 import func    # ModuleNotFoundError: No module named '导入测试'

3.2. PyCharm 导入测试

# package 测试
# import sr
# import 导入测试.sr    # ModuleNotFoundError: No module named '导入测试'

# import pkg    # PyCharm 可用    # ModuleNotFoundError: No module named 'pkg'
# import sr.pkg
# import 导入测试.sr.pkg    # ModuleNotFoundError: No module named '导入测试'

# import pkg1    # ModuleNotFoundError: No module named 'pkg1'
# import pkg.pkg1    # PyCharm 可用    # ModuleNotFoundError: No module named 'pkg'
# import sr.pkg.pkg1
# import 导入测试.sr.pkg.pkg1    # ModuleNotFoundError: No module named '导入测试'

# import pkg2    # ModuleNotFoundError: No module named 'pkg2'
# import pkg1.pkg2    # ModuleNotFoundError: No module named 'pkg1'
# import pkg.pkg1.pkg2    # PyCharm 可用    # ModuleNotFoundError: No module named 'pkg'
# import sr.pkg.pkg1.pkg2
# import 导入测试.sr.pkg.pkg1.pkg2    # ModuleNotFoundError: No module named '导入测试'

# from 导入测试 import sr    # ModuleNotFoundError: No module named '导入测试'

# from sr import pkg
# from 导入测试.sr import pkg    # ModuleNotFoundError: No module named '导入测试'

# from pkg import pkg1    # PyCharm 可用    # ModuleNotFoundError: No module named 'pkg'
# from sr.pkg import pkg1
# from 导入测试.sr.pkg import pkg1    # ModuleNotFoundError: No module named '导入测试'

# from pkg1 import pkg2    # ModuleNotFoundError: No module named 'pkg1'
# from pkg.pkg1 import pkg2    # PyCharm 可用    # ModuleNotFoundError: No module named 'pkg'
# from sr.pkg.pkg1 import pkg2
# from 导入测试.sr.pkg.pkg1 import pkg2    # ModuleNotFoundError: No module named '导入测试'

# module 测试
# import module    # PyCharm 可用    # ModuleNotFoundError: No module named 'module'
# import sr.module
# import 导入测试.sr.module    # ModuleNotFoundError: No module named '导入测试'

# import module0    # ModuleNotFoundError: No module named 'module0'
# import pkg.module0    # PyCharm 可用    # ModuleNotFoundError: No module named 'pkg'
# import sr.pkg.module0
# import 导入测试.sr.pkg.module0    # ModuleNotFoundError: No module named '导入测试'

# import module1    # ModuleNotFoundError: No module named 'module1'
# import pkg1.module1    # ModuleNotFoundError: No module named 'pkg1'
# import pkg.pkg1.module1    # PyCharm 可用    # ModuleNotFoundError: No module named 'pkg'
# import sr.pkg.pkg1.module1
# import 导入测试.sr.pkg.pkg1.module1    # ModuleNotFoundError: No module named '导入测试'

# import module2    # ModuleNotFoundError: No module named 'module2'
# import pkg2.module2    # ModuleNotFoundError: No module named 'pkg2'
# import pkg1.pkg2.module2    # ModuleNotFoundError: No module named 'pkg1'
# import pkg.pkg1.pkg2.module2    # PyCharm 可用    # ModuleNotFoundError: No module named 'pkg'
# import sr.pkg.pkg1.pkg2.module2
# import 导入测试.sr.pkg.pkg1.pkg2.module2    # ModuleNotFoundError: No module named '导入测试'

# from sr import module
# from 导入测试.sr import module    # ModuleNotFoundError: No module named '导入测试'

# from pkg import module0    # PyCharm 可用    # ModuleNotFoundError: No module named 'pkg'
# from sr.pkg import module0
# from 导入测试.sr.pkg import module0    # ModuleNotFoundError: No module named '导入测试'

# from pkg1 import module1    # ModuleNotFoundError: No module named 'pkg1'
# from pkg.pkg1 import module1    # PyCharm 可用    # ModuleNotFoundError: No module named 'pkg'
# from sr.pkg.pkg1 import module1
# from 导入测试.sr.pkg.pkg1 import module1    # ModuleNotFoundError: No module named '导入测试'

# from pkg2 import module2    # ModuleNotFoundError: No module named 'pkg2'
# from pkg1.pkg2 import module2    # ModuleNotFoundError: No module named 'pkg1'
# from pkg.pkg1.pkg2 import module2    # PyCharm 可用    # ModuleNotFoundError: No module named 'pkg'
# from sr.pkg.pkg1.pkg2 import module2
# from 导入测试.sr.pkg.pkg1.pkg2 import module2    # ModuleNotFoundError: No module named '导入测试'

# class 测试
# from sr.module import Class
# from 导入测试.sr.module import Class    # ModuleNotFoundError: No module named '导入测试'

# from pkg.module0 import Class    # PyCharm 可用    # ModuleNotFoundError: No module named 'pkg'
# from sr.pkg.module0 import Class
# from 导入测试.sr.pkg.module0 import Class    # ModuleNotFoundError: No module named '导入测试'

# from pkg1.module1 import Class    # ModuleNotFoundError: No module named 'pkg1'
# from pkg.pkg1.module1 import Class    # PyCharm 可用    # ModuleNotFoundError: No module named 'pkg'
# from sr.pkg.pkg1.module1 import Class
# from 导入测试.sr.pkg.pkg1.module1 import Class    # ModuleNotFoundError: No module named '导入测试'

# from pkg2.module2 import Class    # ModuleNotFoundError: No module named 'pkg2'
# from pkg1.pkg2.module2 import Class    # ModuleNotFoundError: No module named 'pkg1'
# from pkg.pkg1.pkg2.module2 import Class    # PyCharm 可用    # ModuleNotFoundError: No module named 'pkg'
# from sr.pkg.pkg1.pkg2.module2 import Class
# from 导入测试.sr.pkg.pkg1.pkg2.module2 import Class    # ModuleNotFoundError: No module named '导入测试'

# function 测试
# from sr.module import func
# from 导入测试.sr.module import func    # ModuleNotFoundError: No module named '导入测试'

# from pkg.module0 import func    # PyCharm 可用    # ModuleNotFoundError: No module named 'pkg'
# from sr.pkg.module0 import func
# from 导入测试.sr.pkg.module0 import func    # ModuleNotFoundError: No module named '导入测试'

# from pkg1.module1 import func    # ModuleNotFoundError: No module named 'pkg1'
# from pkg.pkg1.module1 import func    # PyCharm 可用    # ModuleNotFoundError: No module named 'pkg'
# from sr.pkg.pkg1.module1 import func
# from 导入测试.sr.pkg.pkg1.module1 import func    # ModuleNotFoundError: No module named '导入测试'

# from pkg2.module2 import func    # ModuleNotFoundError: No module named 'pkg2'
# from pkg1.pkg2.module2 import func    # ModuleNotFoundError: No module named 'pkg1'
# from pkg.pkg1.pkg2.module2 import func    # PyCharm 可用    # ModuleNotFoundError: No module named 'pkg'
# from sr.pkg.pkg1.pkg2.module2 import func
# from 导入测试.sr.pkg.pkg1.pkg2.module2 import func    # ModuleNotFoundError: No module named '导入测试'


总结

  1. 能在 Spyder 里运行的导入语句,也可以在 PyCharm 里运行。
  2. 不推荐相对导入
  3. 严格遵守 import statement 的定义
  4. 推荐 from … import …
  5. 养成良好的代码习惯是避免报错的王道!
  Python知识库 最新文章
Python中String模块
【Python】 14-CVS文件操作
python的panda库读写文件
使用Nordic的nrf52840实现蓝牙DFU过程
【Python学习记录】numpy数组用法整理
Python学习笔记
python字符串和列表
python如何从txt文件中解析出有效的数据
Python编程从入门到实践自学/3.1-3.2
python变量
上一篇文章      下一篇文章      查看所有文章
加:2022-04-30 08:41:12  更:2022-04-30 08:41:25 
 
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁

360图书馆 购物 三丰科技 阅读网 日历 万年历 2024年11日历 -2024/11/15 16:48:14-

图片自动播放器
↓图片自动播放器↓
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
图片批量下载器
↓批量下载图片,美女图库↓
  网站联系: qq:121756557 email:121756557@qq.com  IT数码