首先搞清楚,在使用import
语句时发生了什么。每一个包都是一个带有 __init__.py 的目录,该文件定义了包的属性和方法,然后是一些模块文件和子目录,假如子目录中也有__init__.py 文件,那么它就是这个包的子包。
方法一:修改环境变量。
在命令行环境下使用以下命令即可查看当前Python环境下的环境变量:
import sys
sys.path
然后使用命令sys.path.append('XXXXXXXXXXXXXXXXX')
把包的位置加入到环境变量中即可。
方法二:添加搜索路径。
在使用import
语句时,当解释器遇到import
语句,如果模块在当前的搜索路径就会被导入。搜索路径是一个解释器会先进行搜索的所有目录的列表。
可以通过一下方法添加模块搜索路径:在某个特定的python版本下的site-packages文件夹下添加一个路径文件,如XXX.pth,内容为包的路径,文件名即为要加入的模块文件所在的目录名称就是了。比如我要在为了调用lcm包,就要在/home/autolab/.local/lib/python3.6/site-packages/下添加一个lcm.pth文件,文件内容为/usr/local/lib/python3/dist-packages。