您的位置:首页 > 编程语言 > Python开发

Python ImportError: No module named XXX

2016-03-15 21:02 786 查看
在python中,每个py文件称为模块,包是另一类模块,包可以包含其他模块,当模块存储在文件中时,包就是模块所在的目录。此外,包必须含有一个__init__.py文件。出现ImportError:No module named XXX的问题,在于模块不在搜索路径里,从而导致路径搜索失败

搜索路径:查找一组目录

路径搜索:查找某个文件的操作

python搜索模块的路径(sys.path):

1)程序的主目录

2)PYTHONPATH目录(已经设置完成)

3)标准连接库目录

4)任何.pth文件,这里允许用户向.pth文本文件添加有效的模块搜索目录

对ImportError:No module named XXX问题,可以利用以下方法解决:

1.调用文件时,通过sys.path.append(‘模块文件目录’),但是这种在退出python环境时添加的模块搜索目录会自动消失

2.将.py文件放到site_package目录下

3.将模块文件放到python_dir/lib下

4.使用.pth文件,在site_package文件中创建.pth文件,然后将模块路径写进去,一行一个路径,pth文件也可以使用注释

    # pth file for the my project

    E:\pycharm\attribute_method

    但是这种方法在不同的python版本中不能共享

5.标准实现方法:使用PYTHONPATH环境变量,在环境变量中输入相关的路径,不同路径用分号隔开。如果没有PYTHONPATH环境变量就创建它,创建方法(windows7系统):电脑 -- 属性 -- 高级系统设置 -- 环境变量 -- 系统变量 -- 新建,然后将目录加入创建即可。假如编写的.py文件在如下目录:C:\Users\Administrator\Desktop\test\module.py ,把C:\Users\Administrator\Desktop\test路径加入即可。加载.py文件时,本人在pycharm
IDE 命令行和windows系统中命令行输入from  模块文件文件夹名称 import XXX.py才能把模块加载进来,使用import XXX.py还会出现上面的错误,在Ubuntu 14.10中的shell可以运行。 
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: