我们平时在用python写一些脚本作为工具时,经常需要在其他脚本中加载该工具。脚本工具和加载该工具的代码可能在同一文件夹下,这种情况比较简单,直接import即可。但有时二者并不在同一文件夹,甚至存放路径上没有任何的重叠,这时要想在执行脚本中加载自己所写的工具脚本,就需要将该工具型python脚本添加到默认模块搜索路径中。
总的来说,添加模块搜索路径,总共有以下三种方式:
方法一: 函数添加
该方法直接在运行脚本中添加指令,声明工具脚本的位置
1 import sys
2 查看sys.path
3 添加sys.path.append("\home\xx\xx") # "\home\xx\xx" 为工具脚本的存放路径
此时根据工具脚本和运行脚本的相对位置不同,分为绝对路径和相对路径,以下分别举例:
举例待添加!!!
方法二: 修改环境变量
w用户可以修改系统环境变量PYTHONPATH
在开发大型项目之前,我们可以将项目根目录作为 PYTHONPATH 存到环境变量中,也可以
每次运行前执行该命令
$ touch env.sh
$ vim env.sh
export PYTHONPATH=./ # 将项目根目录作为PYTHONPATH
$ source env.sh # 在项目运行之前执行该命令
在python脚本中应用时,我们可以通过下面两行代码来查看当前项目python模块搜索路径和导入的模块
import sys
print(sys.path) # 输出python模块搜索目录
print(list(sys.modules.keys())) # 输出python已经导入的模块列表
方法三:增加.pth文件,推荐!
最方便的方式是往系统的python模块搜索路径下添加以.pth为后缀的路径文件,如mypkpath.pth,文件中写上你要加入的模块文件所在的目录名称就可以了。
1 windows
c:\python27\site-packages
# 可以把pth文件直接放在c:\python27, 或其他python安装目录下测试也是有效的
2 linux (以ubuntu16.04为例)
/usr/local/lib/python3.5/dist-packages
未完待续!