python自定义包出现ModuleNotFoundError: No module named ‘package_name‘故障

问题描述:首先我们需要了解如何去自定义一个包。我看到一篇不错的文章,链接如下:

[Python]自定义包及3种包导入方式_祥的专栏-CSDN博客_python 自定义包

但是,当我完成了博主所说的步骤时发现了如下错误:

 问题分析:其实这个还是没有找到包的原因。经过仔细分析我发现,其实是我将path的路径搞错了。我们只需要将我们所在的工程文件的路径加入path即可,而不需要精确到每个包的路径。即如下图所示:

 我们的包是在lib文件夹下的,路径是:"E:\Study_File\Python_Example\project\project_0\lib",然而我们只需要将path加入路径:"E:\Study_File\Python_Example\project\project_0\"即可,即整个工程的路径。事实证明,我们必须要精确到工程的路径,不能使用例如:"E:\Study_File\Python_Example\project"这样的路径,这样也会报错无法找到包。

问题解决:我在下面贴出我参考过的文章,供大家参考。

解决python3 导入自定义模块失败_qq1154479896的博客-CSDN博客_python导入模块失败

python 自定义包的导入失败_少游-CSDN博客_python 导入自定义包失败


上面的问题确实可以解决,但是还是可能有会有人import失败,因为上面对import有一定的要求!如下:

import package.mode #正确引用方法

如果我们使用其他引用方法的话,其实是会报错的!如下:

#方法一:
form package import mode #会报错
____________________________________________________

#方法二:

import package

package.mode.function  #也会报错
————————————————————————————————————————————————————————

那么我们应该如何解决这样引用失败的问题呢,其实我们只需要在__init__.py文件中impot所有需要的mode(类似于c语言中的头文件的作用),如下:
 

#__init__.py

import package.mode_0
.
.
.
import package.mode_1

好了,至此,我们应该已经解决了大部分自定义库、包、模块的引用中肯出现的问题了。

  • 0
    点赞
  • 5
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值