Python会在以下路径中搜索它想要寻找的模块:

  1. 程序所在的文件夹
  2. 标准库的安装路径
  3. 操作系统环境变量PYTHONPATH所包含的路径

产生问题的原因可能是:IDE(我使用的是Pycharm)没有将当前目录添加到工作目录中,导致了在搜索的目录中找不到要调用的模块。

解决方法1:在调用自定义模块前先将程序所在的目录添加到工作目录中

例如这里的preprocess.py是我们自定义的模块,已经将其放在同一目录下

import sys
sys.path.append(程序所在路径)
import preprocess

解决方法2:在Pycharm中创建NewProject,将调用程序与被调用程序放在同一个Project中。

此时Pycharm会自动生成.idea__pycache__两个文件夹,模块的调用应该和这个有关,然后在程序中直接调用自定义的模块就可以了。

推荐使用这种方法,因为更加整洁,可以从根本上解决问题!

补充:Python调用自定义模块的3中方式

(1)主程序与模块程序在同一目录下:
如下面程序结构:

-- src  |-- mod1.py  |-- test1.py

若在程序test1.py中导入模块mod1, 则直接使用import mod1from mod1 import *

(2)主程序所在目录是模块所在目录的父(或祖辈)目录 如下面程序结构:

`-- src|-- mod1.py|-- mod2|   `-- mod2.py`-- test1.py

若在程序test1.py中导入模块mod2, 需要在mod2文件夹中建立空文件__init__.py文件(也可以在该文件中自定义输出模块接口); 然后使用from mod2.mod2 import *import mod2.mod2
(3)主程序导入上层目录中模块或其他目录(平级)下的模块 如下面程序结构:

`-- src|-- mod1.py|-- mod2|   `-- mod2.py|-- sub|   `-- test2.py`-- test1.py

若在程序test2.py中导入模块mod1和mod2。首先需要在mod2下建立__init__.py文件(同(2)),src下不必建立该文件。然后调用方式如下:
下面程序执行方式均在程序文件所在目录下执行,如test2.py是在cd sub;之后执行python test2.py 而test1.py是在cd src;之后执行python test1.py; 不保证在src目录下执行python sub/test2.py成功。

   import syssys.path.append("..")import mod1import mod2.mod2

调用自定义模块出现ModuleNotFoundError: No module named ‘XXX‘的解决方案相关推荐

  1. 导入自己模块包导入报错:ModuleNotFoundError: No module named ‘xxx‘解决方法 晓物智联

    导入自己模块包导入报错:ModuleNotFoundError: No module named 'xxx'解决方法 文章来源于:http://www.52phm.cn/blog/detail/28 ...

  2. 关于在pycharm下提示ModuleNotFoundError: No module named 'XXX' 的一种可能

    在pycharm下出现"ModuleNotFoundError: No module named 'XXX' "提示时, 在网上找大部分的解决方案是重新在pycharm里安装对应的 ...

  3. ModuleNotFoundError No module named ‘xxx‘可能的解决方案大全

    "ModuleNotFoundError: No module named 'xxx'"这个报错是个非常常见的报错,几乎每个python程序员都遇到过,导致这个报错的原因也非常多, ...

  4. ModuleNotFoundError: No module named ‘xxx‘可能的解决方案大全

    "ModuleNotFoundError: No module named 'xxx'"这个报错是个非常常见的报错,几乎每个python程序员都遇到过,导致这个报错的原因也非常多, ...

  5. python命令行执行 .py文件提示ModuleNotFoundError: No module named 'XXX' 解决方法

    今天用Jenkins执行.py文件时,总是提示ModuleNotFoundError: No module named 'XXX',百思不得其解.但是在PyCharm中却是能执行成功的,想了想然后在终 ...

  6. ModuleNotFoundError: No module named xxx 的原因和解决办法(附带新大陆)

    #PS:要转载请注明出处,本人版权所有 #PS:这个只是 < 我自己 >理解,如果和你的 #原则相冲突,请谅解,勿喷 ModuleNotFoundError: No module name ...

  7. python程序在命令行执行提示ModuleNotFoundError: No module named ‘XXX‘ 解决方法

    python程序在命令行执行提示ModuleNotFoundError: No module named 'XXX' 解决方法 参考文章: (1)python程序在命令行执行提示ModuleNotFo ...

  8. pyinstaller 打包后报错 ModuleNotFoundError: No module named ‘***‘ 最简单解决方案

    pyinstaller 打包后报错 ModuleNotFoundError: No module named '***' 最简单解决方案 参考文章: (1)pyinstaller 打包后报错 Modu ...

  9. python ModuleNotFoundError: No module named ‘requests‘ 的 解决方案

    python ModuleNotFoundError: No module named 'requests' 的 解决方案 参考文章: (1)python ModuleNotFoundError: N ...

  10. ModuleNotFoundError: No module named ‘pyLDAvis.gensim‘解决方案

      大家好,我是爱编程的喵喵.双985硕士毕业,现担任全栈工程师一职,热衷于将数据思维应用到工作与生活中.从事机器学习以及相关的前后端开发工作.曾在阿里云.科大讯飞.CCF等比赛获得多次Top名次.喜 ...

最新文章

  1. WPF自定义空心文字
  2. 苹果芯片工程师又被挖!这次是微软,要自研Azure服务器芯片
  3. OpenKruise v1.1:功能增强与上游对齐,大规模场景性能优化
  4. Java 8:对集合中的值进行排序
  5. 批处理BAT命令创建日期文件夹
  6. 【干货】奢侈品线上消费圈层洞察-阿里妈妈.pdf(附下载链接)
  7. 微信小程序四种父子相互传值方式
  8. ssh整合步骤之一(搭建环境)
  9. 【转】:TCP/IP详解学习笔记系列
  10. golang http client 使用gzip_Grpc介绍 — Go-Service To PHP-Client
  11. php之简单的文件管理(基本功能
  12. 人大金仓数据库软件下载
  13. 华为hg255d+Openwrt锐捷认证在某农业公园
  14. ORACLE和SQL SERVER数据交换的二进制问题
  15. Unity InputField光标位置不对
  16. 【情感分析:挖掘观点、情感和情绪】读书笔记-01
  17. linux fstab错误无法启动,Linux 系统 fstab错误导致系统无法启动的修复
  18. 如何自己编写一个交通仿真软件(二)原野。
  19. 软件测试人员的年终绩效考核怎么应对
  20. Python爬虫实战,pytesseract模块,Python实现拉勾网岗位数据可视化

热门文章

  1. MySQL数据库出现unknown error 1449错误原因及其解决办法
  2. 超详细的数据分析职业规划
  3. 软件测试人力面试题(含答案)
  4. html获取 条码枪,获取扫描枪条码
  5. CSAPP:第四章——处理器体系结构(上)
  6. Python基于随机游走模型的PageRank算法及应用
  7. 结构力学分析属于计算机哪类应用,结构力学 课堂笔记 (大学期末复习资料).doc...
  8. 关于Google您的连接不是私密连接问题的解决方法 (Chrome 地址栏 Google 搜索错误处理 隐私设置错误)
  9. brew安装nvm报nvm command not found解决方案
  10. 奥运五环的含义及其颜色对应码