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迭代器的使用方法实例
Nov 21 Python
python进阶教程之循环对象
Aug 30 Python
Python的mysql数据库的更新如何实现
Jul 31 Python
浅谈用Python实现一个大数据搜索引擎
Nov 28 Python
Python实现的将文件每一列写入列表功能示例【测试可用】
Mar 19 Python
flask框架使用orm连接数据库的方法示例
Jul 16 Python
Python获取命令实时输出-原样彩色输出并返回输出结果的示例
Jul 11 Python
Python SQLAlchemy入门教程(基本用法)
Nov 11 Python
Python sqlite3查询操作过程解析
Feb 20 Python
python GUI库图形界面开发之PyQt5多行文本框控件QTextEdit详细使用方法实例
Feb 28 Python
在Python IDLE 下调用anaconda中的库教程
Mar 09 Python
Django ModelForm操作及验证方式
Mar 30 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下检测字符串是否是utf8编码的代码
2008/06/28 PHP
php 在文件指定行插入数据的代码
2010/05/08 PHP
如何使用php绘制在图片上的正余弦曲线
2013/06/08 PHP
Yii入门教程之Yii安装及hello world
2014/11/25 PHP
zend framework重定向方法小结
2016/05/28 PHP
laravel中的错误与日志用法详解
2016/07/26 PHP
常用简易JavaScript函数
2009/04/09 Javascript
javascript 表单验证常见正则
2009/09/28 Javascript
多浏览器兼容的获取元素和鼠标的位置的js代码
2009/12/15 Javascript
图片放大镜jquery.jqzoom.js使用实例附放大镜图标
2014/06/19 Javascript
微信小程序url与token设置详解
2017/09/26 Javascript
浅谈react-native热更新react-native-pushy集成遇到的问题
2017/09/30 Javascript
dropload.js插件下拉刷新和上拉加载使用详解
2017/10/20 Javascript
vue中watch的用法汇总
2020/12/28 Vue.js
python正则表达式判断字符串是否是全部小写示例
2013/12/25 Python
用Python中的__slots__缓存资源以节省内存开销的方法
2015/04/02 Python
Python使用Redis实现作业调度系统(超简单)
2016/03/22 Python
Python实现简单的语音识别系统
2017/12/13 Python
Pycharm 操作Django Model的简单运用方法
2018/05/23 Python
基于Python在MacOS上安装robotframework-ride
2018/12/28 Python
Python实现决策树并且使用Graphviz可视化的例子
2019/08/09 Python
Python使用matplotlib实现交换式图形显示功能示例
2019/09/06 Python
python实现读取类别频数数据画水平条形图案例
2020/04/24 Python
详解Pytorch显存动态分配规律探索
2020/11/17 Python
10种CSS3实现的loading动画,挑一个走吧?
2020/11/16 HTML / CSS
您的网上新华书店:文轩网
2016/08/24 全球购物
加州风格的游泳和沙滩装品牌:Cupshe
2019/06/10 全球购物
给同学的道歉信
2014/01/16 职场文书
宣传普通话标语
2014/06/27 职场文书
刑事辩护授权委托书格式
2014/10/13 职场文书
社区党建工作总结2015
2015/05/13 职场文书
运动会开幕式通讯稿
2015/07/18 职场文书
会计做账心得体会
2016/01/22 职场文书
大学生如何逃脱“毕业季创业队即散伙”魔咒?
2019/08/19 职场文书
使用Canvas绘制一个游戏人物属性图
2022/03/25 Javascript
分析SQL窗口函数之排名窗口函数
2022/04/21 Oracle