一般我们会将自己写的 Python 模块与 Python 自带的模块分开存放以达到便于维护的目的。

Python 运行环境在查找模块时是对 sys.path 列表进行遍历,如果我们想在运行环境中添加自定义的模块,主要有以下三种方法:

1. 在sys.path列表中添加新的路径(只能对执行了 sys.path.append 命令的当前 Python 运行环境起作用,对其他运行环境不起作用,也即“一次性”的)。

>>> import sys

>>> sys.path

>>> sys.path.append('/home/xxx/yyy') #目录/home/xxx/yyy包含你所需要的包或模块

设置 PYTHONPATH 环境变量(永久性添加):

2. 将包或模块复制到 sys.path 列表中的目录(通过 sys.path 查看)里(如 /home/test/lib/python2.7/site-packages/ 目录)。

3. 最简单的办法是用 .pth 文件来实现。Python 在遍历已有的库文件目录(sys.path中指定)过程中,如果见到一个 .pth 文件,就会将该文件中所记录的路径加入到 sys.path 设置中,这样 .pth 文件说指明的库也就可以被 Python 运行环境找到。

$cd /home/test/lib/python2.7/site-packages/

$touch test.pth

$vim test.pth

$添加一行包或模块所在的目录(如:/home/test/somePackage/)

则test.pth文件内容为:

/home/test/somePackage/

Python导入自定义包或模块的更多相关文章

  1. 关于python中的包,模块导入的问题详解(一)

    最近由于初学python,对包,模块的导入问题进行了资料的搜集,查阅,在这里做一个总结: 一: import 模块 在import的过程中发生了什么?我们用一个实验来说明: 以上截图表明:在impor ...

  2. python-sys模块、导入自定义包

    import问题:https://zhuanlan.zhihu.com/p/69099185 一.sys模块 sys模块是python自带模块,包含了与Python解释器和它的环境有关的函数.利用 i ...

  3. Python导入运行的当前模块报错

    引言 今天遇到了一个奇怪的现象,简单举个栗子: 文件结构如下:

  4. Python进阶(十一)----包,logging模块

    Python进阶(十一)----包,logging模块 一丶包的使用 什么是包: ​ 包是通过使用 .模块名的方式组织python模块名称空间的方式. 通俗来说,含有一个__init__.py文件的文 ...

  5. python导入自定义模块和包

    参考资料 https://blog.csdn.net/gvfdbdf/article/details/52084144 http://www.runoob.com/python/python-modu ...

  6. 关于python中的包,模块导入的问题详解(二)

    from import导入 紧接着的是from xx import xx  语法 1 ################ 2 from my_moudule import name 3 print(na ...

  7. python 库 、包 、模块

    概念: 模块: 模块是一种以.py为后缀的文件,在.py文件中定义了一些常量和函数.模块的名称是该.py文件的名称.模块的名称作为一个全局变量__name__的取值可以被其他模块获取或导入. 模块的导 ...

  8. Python 调用自定义包

    创建包 # mkdir -p /python/utils # touch /python/utils/__init__.py # vi /python/utils/Log.pyimport timed ...

  9. Python学习 之 包和模块

    1.rpm -ql python #查看python在计算机中安装了哪些文件 2.模块是一个可以导入的Python脚本文件 包是一堆按目录组织的模块和子包,目录下的__init__.py文件存放了包的 ...

随机推荐

  1. RoR简单的应用程序

    在dos环境下执行找到需要新建的项目路径 输入命令rails -v #查看版本号

  2. oracle数据库卸载(需要完全卸载oracl才能重装)

    1. 开始->设置->控制面板->管理工具->服务 停止所有Oracle服务. 2. 开始->程序->Oracle - OraHome81->Oracle I ...

  3. Android 学习第15课,Android 开发的单元测试、及输出错误信息

    这一节没有做实例,单元测试,以后用到再写吧

  4. pdf生成器

    apose, http://www.codeproject.com/Articles/570682/PDF-File-Writer-Csharp-Class-Library-Version

  5. 在RedHat上安装gcc,java 和 eclipse-rcp

    本文全是如何用rpm包在红帽子54上安装gcc,automake,java和eclipse等,不是源代码编译,请大家不要误会了. 其实通过rpm包安装东西很简单,麻烦的是有很多rpm是要根据顺序进行先 ...

  6. 吴奇隆刘诗诗婚礼场地:巴厘岛Ayana酒店,美到窒息!

    导读:忍不住转载一下,原文地址:http://www.sjq315.com/news/270768.html 3月20日,吴奇隆和刘诗诗在巴厘岛五星级酒店Ayana Resort and Spa酒店举 ...

  7. ion-scroll 滚动框

    ion-scroll 声明一个可滚动的容器,需指定滚动区域和内容的大小 <ion-scroll>需要滚动的内容</ion-scroll> ion-scroll 有两个常用的可选 ...

  8. eclipse中安装Open Explorer

    刚刚解压的eclipse中一般没有下面如图所示的这个操作,不能快速进入所选中的文件在Windows资源管理器所在的目录 我们需要下载OpenExplorer.jar包,放到eclipse解压后的dro ...

  9. python 后台爆破工具

    sys:使用sys模块获得脚本的参数 queue模块,创建一个“队列”对象 time 模块     Python time time() 返回当前时间的时间戳(1970纪元后经过的浮点秒数). fin ...

  10. JSON数据;

    1.JSON(JavaScript Object Notation) 是一种轻量级的数据交换格式. 2.JSON的规则很简单: 对象是一个无序的“‘名称/值'对”集合.一个对象以“{”(左括号)开始, ...