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程序设计入门(4)模块和包
Jun 16 Python
在Windows服务器下用Apache和mod_wsgi配置Python应用的教程
May 06 Python
Python计算三维矢量幅度的方法
Jun 15 Python
python字符串的方法与操作大全
Jan 30 Python
python使用thrift教程的方法示例
Mar 21 Python
Python及Pycharm安装方法图文教程
Aug 05 Python
python-Web-flask-视图内容和模板知识点西宁街
Aug 23 Python
python 普通克里金(Kriging)法的实现
Dec 19 Python
django 连接数据库出现1045错误的解决方式
May 14 Python
pandas apply多线程实现代码
Aug 17 Python
python3排序的实例方法
Oct 20 Python
详解Python+Selenium+ChromeDriver的配置和问题解决
Jan 19 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使用指定编码导出mysql数据到csv文件的方法
2015/03/31 PHP
Smarty日期时间操作方法示例
2016/11/15 PHP
jquery实现固定顶部导航效果(仿蘑菇街)
2013/03/21 Javascript
js中 关于undefined和null的区别介绍
2013/04/16 Javascript
固定网页背景图同时保持图片比例的思路代码
2013/08/15 Javascript
javascript读取Xml文件做一个二级联动菜单示例
2014/03/17 Javascript
JavaScript中的object转换函数toString()与valueOf()介绍
2014/12/31 Javascript
javascript实现相同事件名称,不同命名空间的调用方法
2015/06/26 Javascript
jQuery超精致图片轮播幻灯片特效代码分享
2015/09/10 Javascript
黑帽seo劫持程序,js劫持搜索引擎代码
2015/09/15 Javascript
JavaScript对象数组如何按指定属性和排序方向进行排序
2016/06/15 Javascript
jQuery插件实现文件上传功能(支持拖拽)
2020/08/27 Javascript
jQuery实现自动调用和触发某个事件的方法
2016/11/18 Javascript
jQuery基于正则表达式的表单验证功能示例
2017/01/21 Javascript
mpvue 页面预加载新增preLoad生命周期的两种方式
2019/10/17 Javascript
jquery实现加载更多"转圈圈"效果(示例代码)
2020/11/09 jQuery
[02:17]《辉夜杯》TRG战队巡礼
2015/10/26 DOTA
Python数据分析之双色球中蓝红球分析统计示例
2018/02/03 Python
python正则表达式爬取猫眼电影top100
2018/02/24 Python
Python使用pickle模块报错EOFError Ran out of input的解决方法
2018/08/16 Python
在Pycharm中项目解释器与环境变量的设置方法
2018/10/29 Python
python解析json串与正则匹配对比方法
2018/12/20 Python
基于Python共轭梯度法与最速下降法之间的对比
2020/04/02 Python
python正则表达式的懒惰匹配和贪婪匹配说明
2020/07/13 Python
新秀丽拉杆箱美国官方网站:Samsonite美国
2016/07/25 全球购物
加拿大拼图大师:Puzzle Master
2020/12/28 全球购物
成人大专自我鉴定范文
2013/10/19 职场文书
幼儿园教师辞职信
2014/01/18 职场文书
社区包粽子活动方案
2014/01/21 职场文书
团日活动策划书
2014/02/01 职场文书
销售经理岗位职责
2014/03/16 职场文书
金融系应届毕业生求职信
2014/05/26 职场文书
个人简历自荐信
2014/06/26 职场文书
初中同学会致辞
2015/08/01 职场文书
组织委员竞选稿
2015/11/21 职场文书
“爱眼护眼,提前预防近视”倡议书3篇
2019/10/30 职场文书