为Python添加模块搜索路径

    我们平时在用python写一些脚本作为工具时,经常需要在其他脚本中加载该工具。脚本工具和加载该工具的代码可能在同一文件夹下,这种情况比较简单,直接import即可。但有时二者并不在同一文件夹,甚至存放路径上没有任何的重叠,这时要想在执行脚本中加载自己所写的工具脚本,就需要将该工具型python脚本添加到默认模块搜索路径中。

总的来说,添加模块搜索路径,总共有以下三种方式:

方法一: 函数添加

该方法直接在运行脚本中添加指令,声明工具脚本的位置
1 import sys
2 查看sys.path
3 添加sys.path.append("/home/xx/xx")    #  "/home/xx/xx" 为工具脚本的存放路径

此时根据工具脚本和运行脚本的相对位置不同,分为绝对路径和相对路径,不过路径添加方式基本一致。

举例:

sys.path.append('/home/xx/xx/xx')  #直接在执行脚本中加入工具脚本路径
#sys.path.append(os.path.join(os.path.dirname(os.path.dirname(os.path.abspath(__file__))),'drtune'))   #相对路径情况下,写入工具脚本路径的方法

方法二: 修改环境变量

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

import os
import site

packages_path = site.getsitepackages()                  #首先搜索可以添加的默认搜索路径
pth_file = open( os.path.join(packages_path[0], 'import_path.pth'), 'w')  #选择其中一个路径,创建pth文件 
base_path = os.path.dirname(os.path.abspath(__file__))  #输出当前工具脚本的绝对地址
pth_file.write(base_path)                               #写入搜索路径
pth_file.close()                                        #关闭文件

 

 

 

  • 5
    点赞
  • 25
    收藏
    觉得还不错? 一键收藏
  • 3
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值