博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
python包安装和使用机制
阅读量:5266 次
发布时间:2019-06-14

本文共 1366 字,大约阅读时间需要 4 分钟。

python语言的魅力之一就是大量的外置数据包,能够帮助使用者节省很多时间,提高效率。模块下载和引用是最常见的操作,现在解析内部的原理和背后发生的故事,做到心里有数。

导航:

  • 基本定义
  • 模块使用
  • 模块导入顺序
  • 模块安装

 

基本定义

模块:用来从逻辑上组织Python代码(变量,函数,类,逻辑:实现一个功能),本质就是.py结尾的Python文件(文件名:test.py,对应的模块名:test)

包:用来从逻辑上组织模块的,本质就是一个目录(必须带有一个__init__.py文件)

模块分类:

  1. 内置模块
  2. 自定义模块
  3. 第三方模块(需要安装才能使用)

 

1.内置模块是安装python自带的模块,如random随机数生成模块,为python内置模块。

2.自定义模块指自己开发的模块,通俗讲就是自己写的一个python文件

3.第三方模块是指非python自带的模块,如图像处理模块matplotlib模块,需要先pip install matplotlib

 

模块使用

python模块的使用有两种方式,分别是import 和from ** import **。

import 导入一个模块from ** import ** 从模块中导入函数

深层次来说:

import random 是将random模块中所有的代码复制给变量random,random是一个类的实例。

from random import randint 是将randint()函数的代码加载到当前位置

 

 

模块导入顺序

当使用import导入一个模块时,导入模块的查找顺序是:

1、系统python类库的缓存

2、当前目录

3、如果不在当前目录,Python 则搜索在 shell 变量 PYTHONPATH 下的每个目录。

4、如果都找不到,Python会察看python的标准库

 
使用sys.modules能够查看当前系统缓存的模块
 

 

在sys.path中指定了搜索包的路径以及先后顺序。

从上到下的搜索顺序依次先后。当前目录为/root,所以一个路径为当前目录。图中1 为当前目录,2为环境路径,3为python标准库的路径。

 

重点关注最后一个路径,这个路径是python标准库文件的路径,所有的安装的模块都放在该路径下。

 

模块安装

python安装模块可以使用3种方式:

1、模块包

      下载模块包,进行解压,进入模块文件夹,执行:

       python setup.py install

2、 easy_install

       easy_install moduel

3、pip 方式

      pip install moduel

 

安装的本质就是在pip源中的模块下载到本地,然后搬运到标准库文件的路径下,即/usr/lib/python2.7/dist-packages路径下。

例如:安装一个已经装好的模块pillow,提示信息反馈

可以看到pillow模块已经安装到/uer/lib/python2.7/dist-packages路径下。

通过上面的介绍,能够走通python模块使用的整个流程。pip安装模块到路径下,import模块时去该路径寻找。大概流程示意如下:

 

转载于:https://www.cnblogs.com/goldsunshine/p/8818902.html

你可能感兴趣的文章
去掉redhat linux提示注册
查看>>
BZOJ3295 [Cqoi2011]动态逆序对 【CDQ分治】
查看>>
python 装饰器应用
查看>>
搞测量的要时刻保护自己哦!
查看>>
没有足够的内存继续执行程序(mscorlib)
查看>>
PageRank
查看>>
zookeeper_monitor监控
查看>>
Android Studio JNI/NDK 编程(二) Windows 下环境搭建 demo 开发
查看>>
浅谈CSS3 box-sizing 属性 有趣的盒模型
查看>>
异常情况处理
查看>>
IDEA配置使用Mybatis出现 “Could not find resource”
查看>>
【CLR的执行模型:将托管代码合并成程序集(2)】
查看>>
HDOJ 5093 Battle ships 二分图匹配
查看>>
【Qt for Android】OpenGL ES 绘制彩色立方体
查看>>
JAVA Calendar具体解释
查看>>
java中substring的使用方法
查看>>
关于ASP.NET页面打印技术的总结
查看>>
Children of the Candy Corn
查看>>
百度开放服务平台地址
查看>>
Hough Transform直线检测
查看>>