Python Import Error的问题的解决

首先我们需要明确python是如何导入模块的。

python在导入模块时的搜索路径:

1)、程序的主目录

2)、PTYHONPATH目录(如果已经进行了设置)

3)、标准连接库目录(一般在/usr/local/lib/python2.X/)

4)、任何的.pth文件的内容(如果存在的话).新功能,允许用户把有效果的目录添加到模块搜索路径中去

.pth后缀的文本文件中一行一行的地列出目录。

这四个目录组合起来就是这四个组合起来就是sys.path。查看sys.path

import  sys

print(sys.path)


在python的工程中,有时会遇到文件无法引用的情况。此时Pycharm ide

支持文件跳转,可是当项目运行时,却提示找不到模块,针对这种情况我们的解决方法如下。

解决:

1、在py文件的顶部,引入根目录。

import os

import sys

curdir = os.path.dirname(os.path.abspath(__file__))

sys.path.append(os.path.dirname(curdir))


2、检测文件项目的根目录。


3、python中有一个.pth文件,该文件的用法是:

首先xxx.pth文件里面会书写一些路径,一行一个。

将xxx.pth文件放在特定位置,则可以让python在加载模块时,读取xxx.pth中指定的路径。

如此一来就可以很简便的书写import语句,且灵活控制自己写的模块了。例如:

先将myproj的路径加入到myproj.pth文件中,再讲myproj.pth文件放置在__特定目录中__,然后再项目的代码中,无论哪个目录层级,都可以直接使用:

from myproj import conf

from myproj.lib import xlib

上面提到的__特定目录__是通过site模块下的getsitepackages方法获得的,该方法返回一个路径组成的list:


>>> import site

>>> site.getsitepackages()

['/opt/python27/lib/python2.7/site-packages', '/opt/python27/lib/site-python']

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • 一、Python简介和环境搭建以及pip的安装 4课时实验课主要内容 【Python简介】: Python 是一个...
    _小老虎_阅读 5,846评论 0 10
  • 我正在看着电视妈妈叫我写作业,唉,我好想再多看一会儿啊,不过想想写完作业就可以有更多的时间看电视了,好开心啊。 ...
    淇淇小裙子阅读 246评论 0 0
  • 2018.1.29.周一【中华母教】长治群樊菊娥点评 [玫瑰][咖啡]亲爱的家人安泰吉祥! 感恩[...
    中华母教阅读 180评论 0 0
  • 3377ff 蓝色 中国色网站 网址:http://zhongguose.com/ http://bj.so.t...
    赵羽珩阅读 330评论 0 0
  • 小段子八 张继科其实并不算有洁癖的人,顶多是愿意归置东西,身边的东西放的顺手,拿着方便,看着顺眼就得了,干干净净,...
    糖馍馍阅读 3,845评论 3 59