摘要
有时候我们需要在程序中导入额外的python包,这个时候就需要用到这里的知识.这里介绍三种导包方式.
一. 手动导包
其工作的原理就是将搜索路径加入python的sys.path 数组中.
python工作的时候会自动搜索sys.path 中所有的目录,那么我们 可以自定义一个目录,然后在目录中建立一个或者多个.py文件,然后将这个目录添加到sys.path中就行了,举例如下.
- 建立目录: D:\python
- 在目录中新建一个my.py的文件
- 文件中写一个方法如下
# -*- coding: utf-8 -*-
def test():
print "这是手动导入的模块"
- 调用
import sys
sys.path.append("D:\\python")
import my
my.test()
这种方式需要在代码中用sys.path.append()这种硬编码的方式十分不友好,不方便代码维护。反正笔者挺讨厌这种方式,每次看到这部分代码都很讨厌。 强烈不推荐。
二.自动(推荐)
python会搜索sys.path数组中所有的目录,那么我们将自己的目录随意放入其中一个目录就行了.
print(sys.path) 结果如下:
这里推荐放入:C:\Python27\lib\site-packages 中,这个目录其实就是我们很多的外部的依赖包.我们在里面建立了一个目录,里面有一个文件,图片如下:
调用的时候,直接:
from haha import pg
pg.testpg()
通过设置PYTHONPATH 导包(更推荐)
本质上 当我们运行sys.path的时候,系统会自动取获取PYTHONPATH 并将该路径配置的所有目录也放入sys.path中
- window设置
PYTHONPATH 设置为D:\haha;%PYTHONPATH%
具体设置步骤请网上搜索【window设置环境变量】 - linux设置
- 在/etc/profile文件中加入
- export PYTHONPATH=/haha:$PYTHONPATH
- 执行 source /etc/profile
- 代码中调用
from haha import pg pg.testpg()