python模式下,有时候需要导入 import某些模块或者包。明明这个模块/包是存在的,却提示导入错误,比如,“ImportError: No module named lxml”。
但是当你在命令行下,通过 “pip install lxml” 时,却提示该模块已经存在了,"Requirement already satisfied: lxml in /usr/local/lib/python3.5/dist-packages (4.3.2)"。
此时,是因为python 寻找模块或者包的路径,没有指向 lxml包所在的路径,所以需要添加上。有两种办法添加:
第一种,通过调用sys.path.append("it's path")添加,但这种方式是临时的,退出当前会话之后就失效了。
进入python模式下,
import sys
sys.path.append("/usr/local/lib/python3.5/dist-packages")
此时,再打印看一下结果,已经有lxml所在的路径了:
但这种方法的缺点是,只能在当前会话窗口中有效。退出该会话就失效。
第二种,长期有效的办法
在linux命令行下使用 expert 工具:
export PYTHONPATH=/usr/local/lib/python3.5/dist-packages
此时,可以打印 echo $PYTHONPATH 查看一下是否添加成功:
执行成功之后,进入python模式 import lxml 即可成功。