自己写的python模块,在pycharm中执行时可以正常import,在控制台执行时报错 ModuleNotFoundError: No module named ‘’

1. 问题描述:

自己定义的python模块,在PyCharm中执行时可以正常import,但是在控制台中执行时报错 ModuleNotFoundError: No module named ‘XXX’

2. 问题分析:

  • 首先,在控制台中执行python脚本时提示找不到某个模块,则说明程序在执行时,sys.path中未包含该模块的所在目录或者该模块的父目录

什么是sys.path?

sys.path是一个list,是python脚本执行时的一个环境变量,里面存放该脚本所有可导入模块的所在目录,包括内建模块所在目录,第三方模块所在目录,自定义模块所在目录

注意:如果你未对sys.path做任何改动时,在自定义模块所在目录那里,只会包含该python脚本的第一及父目录,这里也说明,报错的根本原因在于要import的模块跟执行脚本未在同一个目录下

  • 同样的python脚本,在控制台中报错,为什么在PyCharm中可以正常执行?

因为PyCharm中,可以在Settings中可视化的修改Sources,相当于修改了sys.path,所以程序知道从哪里找到自定义模块

3. 问题解决:

找到自定义模块所在目录 [或者任意深度的父目录]

# 这段代码要放在所有其他import代码之前 
import sys
sys.path.append('自定义模块所在目录')
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值