python添加模块搜索路径和包的导入方法


Posted in Python onJanuary 19, 2019

方法一:函数添加

1 import sys

2 查看sys.path

3 添加sys.path.append("c:\\")

方法二:修改环境变量

w用户可以修改系统环境变量PYTHONPATH

方法三:增加.pth文件,推荐!

在site-packages添加一个路径文件,如mypkpath.pth,必须以.pth为后缀,写上你要加入的模块文件所在的目录名称就是了。

1 windows

c:\python27\site-packages

# 我们的学员把pth文件直接放在c:\python27

# (或其他python安装目录)目录下测试也是有效的

# 2015.9.23

2 linux(ubuntu)

/usr/local/lib/python2.7/dist-packages (note by shanql, 我是放在这个目录下有效的,所添加的目录一定要存在,不存在则会不成功)

2 linux(redhat)

/usr/lib/python2.7/site-packages

包的调用

为了避免模块名冲突,Python又引入了按目录来组织模块的方法,称为包(Package)。

python添加模块搜索路径和包的导入方法

每一个包目录下面都会有一个__init__.py的文件,这个文件是必须存在的,否则,Python就把这个目录当成普通目录(文件夹),而不是一个包。__init__.py可以是空文件,也可以有Python代码,因为__init__.py本身就是一个模块,而它的模块名就是对应包的名字。调用包就是执行包下的__init__.py文件。

跨包调用(当前目录下有modulepack1包):

from modulepack1[.modulepack2] import module

如果当前目录下能够找到要调用的包,可以直接from包import模块,如果当前目录找不到要调用的包,需要向sys.path添加包的所在绝对路径。

import一个包名,就等于执行了这个包下的__init__文件。

示例:

python添加模块搜索路径和包的导入方法

在nod1里import hello是找不到的,需要手动添加包路径,如果找到那是因为pycharm给加了不必要的路径,以命令行执行为准。

import sys,os
BASE_DIR=os.path.dirname(os.path.dirname(os.path.abspath(__file__)))#__file__获取执行文件相对路径,整行为取上一级的上一级目录
sys.path.append(BASE_DIR)
#添加路径
import hello
hello.hello1()

模块调用测试

if __name__=='__main__':#__name__方法判断
  print('ok')

在一个py模块直接执行print(__name__)会输出__main__,表示当前这个文件属于执行文件,如果从其他的py模块中导入一个py模块,执行被导入的py模块中的print(__name__)会输出被导入的模块的模块名称,那么if判断就不会成功,所以导入的时候不会执行判断内的代码。

主要用在调试功能,即一个模块被调用的时候不执行内容,而自己调试模块的时候可以顺利的执行模块内容。

以上这篇python添加模块搜索路径和包的导入方法就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持三水点靠木。

Python 相关文章推荐
详解Python中 __get__和__getattr__和__getattribute__的区别
Jun 16 Python
python select.select模块通信全过程解析
Sep 20 Python
tensorflow 输出权重到csv或txt的实例
Jun 14 Python
对numpy中的数组条件筛选功能详解
Jul 02 Python
python中sys.argv函数精简概括
Jul 08 Python
python算法与数据结构之单链表的实现代码
Jun 27 Python
python with (as)语句实例详解
Feb 04 Python
Python常用编译器原理及特点解析
Mar 23 Python
Python urllib2运行过程原理解析
Jun 04 Python
tensorflow 大于某个值为1,小于为0的实例
Jun 30 Python
python中复数的共轭复数知识点总结
Dec 06 Python
如何查看python关键字
Jan 17 Python
python引用(import)某个模块提示没找到对应模块的解决方法
Jan 19 #Python
解决Python 命令行执行脚本时,提示导入的包找不到的问题
Jan 19 #Python
在pycharm 中添加运行参数的操作方法
Jan 19 #Python
解决项目pycharm能运行,在终端却无法运行的问题
Jan 19 #Python
Pycharm以root权限运行脚本的方法
Jan 19 #Python
Python自定义一个类实现字典dict功能的方法
Jan 19 #Python
解决pycharm工程启动卡住没反应的问题
Jan 19 #Python
You might like
php使用glob函数快速查询指定目录文件的方法
2014/11/15 PHP
php图片的二进制转换实现方法
2014/12/15 PHP
了解PHP的返回引用和局部静态变量
2015/06/04 PHP
php实现源代码加密的方法
2015/07/11 PHP
php轻量级的性能分析工具xhprof的安装使用
2015/08/12 PHP
JS下拉框内容左右移动效果的具体实现
2013/07/10 Javascript
JS+CSS简单树形菜单实现方法
2015/09/12 Javascript
基于jquery实现瀑布流布局
2020/06/28 Javascript
BootStrap实现树形目录组件代码详解
2016/06/21 Javascript
AngularJS Bootstrap详细介绍及实例代码
2016/07/28 Javascript
基于Bootstrap的Metronic框架实现页面链接收藏夹功能
2016/08/29 Javascript
ES6生成器用法实例分析
2017/04/10 Javascript
JavaScript Canvas绘制圆形时钟效果
2020/08/20 Javascript
微信小程序商城项目之侧栏分类效果(1)
2017/04/17 Javascript
vue.js实现简单轮播图效果
2017/10/10 Javascript
JavaScript 接口原理与用法实例详解
2020/05/12 Javascript
vue实现购物车案例
2020/05/30 Javascript
Vue中的this.$options.data()和this.$data用法说明
2020/07/26 Javascript
关于element的表单组件整理笔记
2021/02/05 Javascript
[47:43]Alliance vs KG 2019国际邀请赛小组赛 BO2 第一场 8.16
2019/08/18 DOTA
Python的Flask框架中web表单的教程
2015/04/20 Python
python实现红包裂变算法
2016/02/16 Python
python使用正则表达式替换匹配成功的组
2017/11/17 Python
Python学习笔记之Break和Continue用法分析
2019/08/14 Python
opencv 查找连通区域 最大面积实例
2020/06/04 Python
如何验证python安装成功
2020/07/06 Python
日本土著品牌,综合型购物网站:Cecile
2016/08/23 全球购物
Interhome丹麦:在线预订度假屋和公寓
2019/07/18 全球购物
JD Sports荷兰:英国领先的运动时尚零售商
2020/03/13 全球购物
英文版银行求职信
2013/10/09 职场文书
幼师自荐信
2013/10/26 职场文书
党的群众路线教育实践活动个人对照检查材料(教师)
2014/11/04 职场文书
不同意离婚上诉状
2015/05/23 职场文书
2015年普法依法治理工作总结
2015/05/26 职场文书
2015秋季新学期开学寄语
2015/05/28 职场文书
二十年同学聚会致辞
2015/07/28 职场文书