python创建__init.py__文件导入模块仍然报错ModuleNotFoundError: No module named 'name'

今自定义模块后非相同目录导出提示找不到模块报错信息如下:

ModuleNotFoundError: No module named 'name'
  •  

各方查找各位大神方法很多

参考链接

1、在需要导入的文件夹创建 __init.py__ #这个文件夹下记得每次创建,但此次问题尝试后还是无效 
2、将文件放到python安装目录下的 lib #文件太多没尝试此方法

3、import sys 
sys.path.append(’引用模块的地址’)

最终解决办法如下: 
右击项目根目录将目录标记为根源,使py查找你要导入的模块时从此处开始查找

以上方法是在PyCharm 中创建了__init.py__还是报错的解决办法笔记

 

以上内容转载自:https://blog.csdn.net/zha6476003/article/details/80038819

 

本人遇到的问题和这个类似,描述一下我的问题:

正常的并列的两个文件夹,根目录就是项目,则导入没问题,比如:

在0815文件夹中直接导入定义好的包my_package,没有问题。因为从根目录查找,下来就是这个包了。

但是:

下面这种情况,我的包是一个文件夹,然后需要导入包的这个文件夹是并列的另一个文件夹,它们上面还有很多层父文件夹,然后我创建了包以后却没办法在并列的这个文件夹中导入创建的包。

结构见下图:

 

 

几点总结:

1.如果导入的模块和主程序在同个目录下,直接import就行了

2.如果导入的模块是在主程序所在目录的子目录下,可以在子目录中增加一个空白的__init__.py文件,该文件使得python解释器将子目录整个也当成一个模块,然后直接通过“import 子目录.模块”导入即可。

3.如果导入的模块是在主程序所在目录的父目录下,则要通过修改path来解决,有两种方法:

(1)通过”import sys,sys.path.append('父目录的路径')“来改变,这种方法属于一次性的,只对当前的python解释器进程有效,关掉python重启后就失效了。

(2)直接修改环境变量:在windows中是 “ set 变量=‘路径’  ” 例如:set PYTHONPATH=‘C:\test\...’ 查看是否设置成功用echo %PYTHONPATH%,而且进到python解释器中查看sys.path,会发现已经有了新增加的路径了。这 种方式是永久的,一次设置以后一直都有效。在linux中是 "export 变量=‘路径’ “,查看是" echo $变量 "

通过修改path是通用的方法,因为python解释器就是通过sys.path去一个地方一个地方的寻找模块的。

  • 35
    点赞
  • 63
    收藏
    觉得还不错? 一键收藏
  • 6
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值