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

Python No module named xxx 的错误

2016-05-29 11:49 274 查看
Ubuntu14.04自带Python2.7,然后自己又安装了Anaconda,这时候默认的lib搜索路径发生变化,导致有些包找不到。

要解决该问题,首先确定系统中是否确实存在该包,比如cv2.so

locate cv2.so
命令查找该文件

确定存在之后,我们就可以把包含该文件的路径添加到调用该包的源码文件中。比如我locate之后显示cv2.so的路径

/usr/lib/python2.7/site-packages


所以,我在源码文件的开头写入:

import sys
sys.path.append('/usr/lib/python2.7/site-packages')


这样的更改只对该文件有效。如果想把路径永久添加到系统path中(其实并不十分需要,看需求)有几种方式,可以去搜索一下。

永久添加路径到sys.path中,方式有三,如下:

将写好的py文件放到 /usr/lib/python2.7/site-packages 目录下

在 /usr/lib/python2.7/site-packages 下面新建一个.pth 文件(以pth作为后缀名)将模块的路径写进去,一行一个路径,如: vim pythonmodule.pth

/home/liu/shell/config

/home/liu/shell/base

使用PYTHONPATH环境变量

export PYTHONPATH=$PYTHONPATH:/home/liu/shell/config

另外,如和添加自己定义的模块:

如果想使用非当前模块中的代码,需要使用Import,这个大家都知道。

如果你要使用的模块(py文件)和当前模块在同一目录,只要
import
相应的文件名就好,比如在
a.py
中使用
b.py


import b


但是如果要
import
一个不同目录的文件(例如
b.py
)该怎么做呢?

首先需要使用
sys.path.append
方法将
b.py
所在目录加入到搜素目录中。然后进行
import
即可,例如

import sys
sys.path.append('your/path')
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  python lib