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操作MySQL数据库的方法分享
May 29 Python
Python中对列表排序实例
Jan 04 Python
Python中map和列表推导效率比较实例分析
Jun 17 Python
Python简单格式化时间的方法【strftime函数】
Sep 18 Python
解决PyCharm中光标变粗的问题
Aug 05 Python
基于python OpenCV实现动态人脸检测
May 25 Python
python利用微信公众号实现报警功能
Jun 10 Python
解决Python3 被PHP程序调用执行返回乱码的问题
Feb 16 Python
Python3.5实现的三级菜单功能示例
Mar 25 Python
centos 安装Python3 及对应的pip教程详解
Jun 28 Python
keras获得model中某一层的某一个Tensor的输出维度教程
Jan 24 Python
Pyhton模块和包相关知识总结
May 12 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动态图像的创建
2006/10/09 PHP
php不写闭合标签的好处
2014/03/04 PHP
php实现向javascript传递数组的方法
2015/07/27 PHP
PHP生成腾讯云COS接口需要的请求签名
2018/05/20 PHP
Docker 安装 PHP并与Nginx的部署实例讲解
2021/02/27 PHP
JavaScript XML实现两级级联下拉列表
2008/11/10 Javascript
Extjs优化(二)Form表单提交通用实现
2013/04/15 Javascript
js识别不同浏览器基于userAgent做判断
2014/07/29 Javascript
javascript中hasOwnProperty() 方法使用指南
2015/03/09 Javascript
理解javascript正则表达式
2016/03/08 Javascript
深入浅析JavaScript的API设计原则
2016/06/14 Javascript
JS日程管理插件FullCalendar中文说明文档
2017/02/06 Javascript
Angular.js自定义指令学习笔记实例
2017/02/24 Javascript
解决Jquery下拉框数据动态获取的问题
2018/01/25 jQuery
JS实现常见的查找、排序、去重算法示例
2018/05/21 Javascript
微信小程序自定义音乐进度条的实例代码
2018/08/28 Javascript
Vue中使用canvas方法总结
2019/02/12 Javascript
JS html事件冒泡和事件捕获操作示例
2019/05/01 Javascript
微信小程序:数据存储、传值、取值详解
2019/05/07 Javascript
基于JavaScript实现表格隔行换色
2020/05/08 Javascript
举例讲解Python中的算数运算符的用法
2015/05/13 Python
Python虚拟环境项目实例
2017/11/20 Python
Win10+GPU版Pytorch1.1安装的安装步骤
2019/09/27 Python
tensorflow pb to tflite 精度下降详解
2020/05/25 Python
酒店总经理助理岗位职责
2014/02/01 职场文书
师德师风个人自我剖析材料
2014/09/27 职场文书
初婚初育证明范本
2014/11/24 职场文书
幼儿园老师个人总结
2015/02/28 职场文书
审美与表现自我评价
2015/03/09 职场文书
2015年体育教学工作总结
2015/05/20 职场文书
合理化建议书范文
2015/09/14 职场文书
2016年校园植树节广播稿
2015/12/17 职场文书
2019幼儿教师求职信(3篇)
2019/09/20 职场文书
创业计划书之青年旅馆
2019/09/23 职场文书
在 SQL 语句中处理 NULL 值的方法
2021/06/07 SQL Server
python数据可视化JupyterLab实用扩展程序Mito
2021/11/20 Python