首先,我们可以执行以下代码来查看Python的搜索路径有哪些:
import sys,pprint
pprint.pprint(sys.path)
pprint输出的是python的搜索路径,python的解释器就是从这些路径中搜索我们所需的模块的。如果我们想让解释器能够搜索到我们自定义的模块的话,有以下两种方法:
一、配置PYTHONPATH环境变量
假设我们在Ubuntu下有一个python文件夹,它的路径是~/python,我们将我们自定义的模块存放在该目录下面。若想导入里面的模块,我们就修改home下的.profile文件:
sudo vim ~/.profile
在文件的最后一行输入添加以下代码:
export PYTHONPATH=$PYTHONPATH:~/python
这样就将我们的python文件夹的路径加入到了PYTHONPATH。
在修改完.profile之后,我们用以下命令将文件重新加载一遍,就可以更新PYTHONPATH了。因为是修改的是/home目录下的.profile文件,所以这个更改只能对当前用户生效,换成其他用户就不行了。如果要所有用户都有效,可以修改/etc/bash.bashrc(需要管理员权限),操作同方法跟此方法相同,只是修改的文件变成/etc/bash.bashrc这个文件。(注意路径不能有中文,否则导入不了)
二、sys临时导入
假设还是之前的python文件夹,我们在写Python程序时可以动态的导入该文件夹路径,导入其中的模块。
import sys
sys.path.append('~/.python')
这样我们就成功的将其导入到path了,不过这种方法是临时的。