为Python添加模块搜索路径

    我们平时在用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

 

未完待续!

 

 

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章