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 中文乱码问题深入分析
Mar 13 Python
在Python中使用base64模块处理字符编码的教程
Apr 28 Python
Python使用ftplib实现简易FTP客户端的方法
Jun 03 Python
Python使用django搭建web开发环境
Jun 09 Python
Python获取本机所有网卡ip,掩码和广播地址实例代码
Jan 22 Python
Python使用matplotlib实现的图像读取、切割裁剪功能示例
Apr 28 Python
使用Python操作FTP实现上传和下载的方法
Apr 01 Python
python 扩展print打印文件路径和当前时间信息的实例代码
Oct 11 Python
基于Python实现2种反转链表方法代码实例
Jul 06 Python
Python在线和离线安装第三方库的方法
Oct 31 Python
python自动化办公操作PPT的实现
Feb 05 Python
python读取mat文件生成h5文件的实现
Jul 15 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/10/15 PHP
php获取从html表单传递数组的方法
2015/03/20 PHP
一个简单的jQuery插件制作 学习过程及实例
2010/04/25 Javascript
js 点击按钮弹出另一页,选择值后,返回到当前页
2010/05/26 Javascript
select多选 multiple的使用示例
2014/06/16 Javascript
javascript删除一个html元素节点的方法
2014/12/20 Javascript
一个非常好用的文字滚动的案例,鼠标悬浮可暂停[两种方案任选]
2016/12/01 Javascript
JS设置时间无效问题的解决办法
2017/02/18 Javascript
Angularjs 手写日历的实现代码(不用插件)
2017/10/18 Javascript
JS获取数组中出现次数最多及第二多元素的方法
2017/10/27 Javascript
JavaScript函数式编程(Functional Programming)高阶函数(Higher order functions)用法分析
2019/05/22 Javascript
Vue CLI3中使用compass normalize的方法
2019/05/30 Javascript
基于vue-cli搭建多模块且各模块独立打包的项目
2019/06/12 Javascript
vue实现权限控制路由(vue-router 动态添加路由)
2019/11/04 Javascript
JS常见内存泄漏及解决方案解析
2020/05/30 Javascript
基于Vue sessionStorage实现保留搜索框搜索内容
2020/06/01 Javascript
python使用PIL缩放网络图片并保存的方法
2015/04/24 Python
Python中urllib+urllib2+cookielib模块编写爬虫实战
2016/01/20 Python
Python cookbook(字符串与文本)针对任意多的分隔符拆分字符串操作示例
2018/04/19 Python
Python日期时间Time模块实例详解
2019/04/15 Python
如何用Python来理一理红楼梦里的那些关系
2019/08/14 Python
Python进程,多进程,获取进程id,给子进程传递参数操作示例
2019/10/11 Python
详解Anconda环境下载python包的教程(图形界面+命令行+pycharm安装)
2019/11/11 Python
Python with语句和过程抽取思想
2019/12/23 Python
python各层级目录下import方法代码实例
2020/01/20 Python
荷兰网上鞋店:Ziengs.nl
2017/01/02 全球购物
加大码胸罩、内裤和服装:Just My Size
2019/03/21 全球购物
写自荐信有哪些不宜?
2013/10/17 职场文书
招商业务员岗位职责
2013/12/16 职场文书
歌颂祖国的演讲稿
2014/05/04 职场文书
关于诚信的活动方案
2014/08/18 职场文书
防汛工作情况汇报
2014/10/28 职场文书
医院办公室主任岗位职责
2015/04/01 职场文书
幼儿园奖惩制度范本
2015/08/05 职场文书
Go timer如何调度
2021/06/09 Golang