Python导入自定义包或模块
一般我们会将自己写的 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导入自定义包或模块的更多相关文章
- 关于python中的包,模块导入的问题详解(一)
最近由于初学python,对包,模块的导入问题进行了资料的搜集,查阅,在这里做一个总结: 一: import 模块 在import的过程中发生了什么?我们用一个实验来说明: 以上截图表明:在impor ...
- python-sys模块、导入自定义包
import问题:https://zhuanlan.zhihu.com/p/69099185 一.sys模块 sys模块是python自带模块,包含了与Python解释器和它的环境有关的函数.利用 i ...
- Python导入运行的当前模块报错
引言 今天遇到了一个奇怪的现象,简单举个栗子: 文件结构如下:
- Python进阶(十一)----包,logging模块
Python进阶(十一)----包,logging模块 一丶包的使用 什么是包: 包是通过使用 .模块名的方式组织python模块名称空间的方式. 通俗来说,含有一个__init__.py文件的文 ...
- python导入自定义模块和包
参考资料 https://blog.csdn.net/gvfdbdf/article/details/52084144 http://www.runoob.com/python/python-modu ...
- 关于python中的包,模块导入的问题详解(二)
from import导入 紧接着的是from xx import xx 语法 1 ################ 2 from my_moudule import name 3 print(na ...
- python 库 、包 、模块
概念: 模块: 模块是一种以.py为后缀的文件,在.py文件中定义了一些常量和函数.模块的名称是该.py文件的名称.模块的名称作为一个全局变量__name__的取值可以被其他模块获取或导入. 模块的导 ...
- Python 调用自定义包
创建包 # mkdir -p /python/utils # touch /python/utils/__init__.py # vi /python/utils/Log.pyimport timed ...
- Python学习 之 包和模块
1.rpm -ql python #查看python在计算机中安装了哪些文件 2.模块是一个可以导入的Python脚本文件 包是一堆按目录组织的模块和子包,目录下的__init__.py文件存放了包的 ...
随机推荐
- java中与数据库的连接
package unitl01; import java.sql.Connection;import java.sql.DriverManager;import java.sql.ResultSet; ...
- SELF, self in CORE DATA
Predicate SELF Represents the object being evaluated. CORE DATA Retrieving Specific Objects If your ...
- CentOS 7 安装 MySQL Database
CentOS 7 安装 MySQL Database 1. 现在安装包,MySQL的安装包被分成了社区版和企业版,而本文将记录社区版本MySQL安装过程,下载MySQL版本如下: mysql-5.7. ...
- start a new android studio project not working
现象:点击无响应 解决:Configure -> Project Defaults -> Project Structure -> Platform Settings (SDK) c ...
- eclipse点不出方法
window→preferences→java→editor→Content Assist→Advanced
- git cherry-pick
在不同的分支上merge是有点很危险的事情,尤其当两个分支内容差异较大的时候,而恰好,你想合并的就是几次commit而已,那么用cherry-pick吧. 将B分支的提交合并到A分支: git che ...
- 腾讯优测优分享 | Android适配中的一些特殊情况小结
腾讯优测是专业的自动化测试平台,提供全面兼容适配测试,远程真机租用等多维度的测试服务! 作为一名"艰苦卓绝"的软件工程师,我在开发路上经常被各种奇葩情况虐的体无完肤...今天就想与 ...
- javascript实现图片切换、自动走、鼠标移入会停止,移出继续走
要实现以上效果并不难,把功能分开一步一步来实现就变得简单了,录制动态图不流畅,看代码意会吧! <!doctype html> <html lang="en"> ...
- Swift解算法——台阶问题
题目:一个台阶总共有n级,如果一次可以跳1级,也可以跳2级. 求总共有多少总跳法,并分析算法的时间复杂度. 首先对题目进行分析: 台阶一共有n级 因此当n = 1时——只有一种跳法 当 ...
- iOS 动画
图层树.寄宿图以及图层几何学(一)图层的树状结构 技术交流新QQ群:414971585 巨妖有图层,洋葱也有图层,你有吗?我们都有图层 -- 史莱克 Core Animation其实是一个令人误解的命 ...