解决python有时候import不了当前的包问题

yipeiwu_com6年前Python基础

问题描述:

ImportError: No module named ‘XXXX'

解决方式一:

将XXXX包放在python的site-package文件夹下

解决方式二:

可能是XXXX包没有新建init.py

解决方式三:

init.py需要声明包含XXXX包的函数

解决方式四:

sys.path.append(Ur ‘XXXX's path)

但是,有些时候python解释器可能脑抽。。。。明明上述操作都有,但是就是找不到。

ImportError: No module named ‘XXXX'

ImportError: No module named ‘XXXX'

ImportError: No module named ‘XXXX'

ImportError: No module named ‘XXXX'

ImportError: No module named ‘XXXX'

这个时候解决方式:

1.可能是上一级不是包的文件夹也新建了init.py,将其删去即可。

2.或者最高级路径不是指上一级文件夹,举例:

环境:pycharm2017.2.3

项目:

 - A1/
   -init.py
   -B1.py
   -B2/
     -init.py
     -C1.py
   -B3.py
   -B4/
     -init.py
     -C2.py
     -C3.py

此时:

在B1.py内,import B2,B4 正确
在C3.py内,import B2,B4 正确

但是,如果项目是:

-D/ 
   - A1/
     -init.py
     -B1.py
     -B2/
       -init.py
       -C1.py
     -B3.py
     -B4/
       -init.py
       -C2.py
       -C3.py
   -A2/
     -init.py
     -B5.py
     -B6/
       -init.py
       -C4.py

此时:

在B1.py内,import B2,B4 不正确

在C3.py内,import B2,B4 不正确

因为此时,最高级路径指向D,而不是A1!!!!!

当然如果修改后还不行,听天由命,重启一次。

以上这篇解决python有时候import不了当前的包问题就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持【听图阁-专注于Python设计】。

相关文章

python使用正则表达式(Regular Expression)方法超详细

python使用正则表达式(Regular Expression)方法超详细

一、导入re库 python使用正则表达式要导入re库。 import re 在re库中。正则表达式通常被用来检索查找、替换那些符合某个模式(规则)的文本。 二、使用正则表达式步...

python requests模拟登陆github的实现方法

python requests模拟登陆github的实现方法

1. Cookie 介绍 HTTP 协议是无状态的。因此,若不借助其他手段,远程的服务器就无法知道以前和客户端做了哪些通信。Cookie 就是「其他手段」之一。 Cookie 一个典型的...

浅谈Python2、Python3相对路径、绝对路径导入方法

os.path.dirname() 获取父目录 os.path.basename() #获取文件名或者文件夹名 python2缺省为相对路径导入,python3缺省为绝对路径导入 pyt...

程序员写Python时的5个坏习惯,你有几条?

很多文章都有介绍怎么写好 Python,我今天呢,相反,说说写代码时的几个坏习惯。有的习惯会让 Bug 变得隐蔽难以追踪,当然,也有的并没有错误,只是个人觉得不够优雅。 注意:示例代码在...

Python的Flask框架中的Jinja2模板引擎学习教程

Flask的模板功能是基于Jinja2模板引擎来实现的。模板文件存放在当前目前下的子目录templates(一定要使用这个名字)下。 main.py 代码如下: from flask...