• linkedu视频
  • 平面设计
  • 电脑入门
  • 操作系统
  • 办公应用
  • 电脑硬件
  • 动画设计
  • 3D设计
  • 网页设计
  • CAD设计
  • 影音处理
  • 数据库
  • 程序设计
  • 认证考试
  • 信息管理
  • 信息安全
菜单
linkedu.com
  • 网页制作
  • 数据库
  • 程序设计
  • 操作系统
  • CMS教程
  • 游戏攻略
  • 脚本语言
  • 平面设计
  • 软件教程
  • 网络安全
  • 电脑知识
  • 服务器
  • 视频教程
  • vbs
  • DOS/BAT
  • hta/htc
  • python
  • perl
  • VBA
  • ColdFusion
  • ruby
  • PowerShell
  • Lua
  • Golang
  • linux shell
您的位置:首页 > 脚本语言 >python > Python模块搜索概念介绍及模块安装方法介绍

Python模块搜索概念介绍及模块安装方法介绍

作者:junjie 字体:[增加 减小] 来源:互联网

junjie 通过本文主要向大家介绍了python如何安装模块,python 安装模块,python怎么安装模块,python pip安装模块,python安装第三方模块等相关知识,希望对您有所帮助,也希望大家支持linkedu.com www.linkedu.com

【import模块】

和C中的#include不同,Python中的import语句并不是简单的把一个文件插入另外一个文件。
导入其实是运行时的运算,程序第一次导入指定文件时,会执行以下步骤,

1. 找到模块文件
2. 编译成位码
3. 执行模块中的代码来创建所定义的模块

并生成.pyc字节码文件,这三个步骤只在程序执行时,模块第一次导入时会进行。之后导入相同的模块时,会跳过这三个步骤,而只提取内存中已加载的模块对象,速度要快的多。
NOTE:

1. Python把已加载的模块放在内置的sys.modules字典中,在import操作开始时会确认引用的模块是否已加载。如果想看哪些模块已加载,可以导入sys,打印sys.modules.keys()
>>> sys.modules.keys() 
['heapq', 'functools', 'pyreadline.console.ansi',...,'pyreadline.modes'] 
</div>
2. 可以import的四种文件类型

1.源文件(.py)
2.字节码文件(.pyc)
3.C扩展文件(Windows: .dll或.pyd文件 | Linux: .so文件)
4.相同变量名的目录(用于包导入)

【搜索路径】

比如说:import math,不需要加路径和后缀名,系统会自动搜索路径,按照搜索先后顺序,列出模块搜索路径.

1. 程序的主目录(程序当前运行的目录)
2. PYTHONPATH目录(在环境变量里面配置与加到Path中一样)
3. 标准库目录(比如说: C:\Python27\Lib)
4. .pth文件所在内容(一般放在Lib\site-packages目录下,如下:easy-install.pth)

import sys; sys.__plen = len(sys.path) 
./setuptools-0.6c11-py2.7.egg 
./py-1.4.26-py2.7.egg 
./sphinx-1.3b1-py2.7.egg 
./colorama-0.3.2-py2.7.egg 
./babel-1.3-py2.7.egg 
./snowballstemmer-1.2.0-py2.7.egg 
./docutils-0.12-py2.7.egg 
./pygments-2.0.1-py2.7.egg 
./jinja2-2.7.3-py2.7.egg 
./six-1.8.0-py2.7.egg 
./pytz-2014.9-py2.7.egg 
./markupsafe-0.23-py2.7.egg 
./pyzmq-14.4.1-py2.7-win-amd64.egg 
./tornado-4.0.2-py2.7-win-amd64.egg 
./backports.ssl_match_hostname-3.4.0.2-py2.7.egg 
./certifi-14.05.14-py2.7.egg 
./egg-0.2.0-py2.7.egg 
./chicken-0.1.0-py2.7.egg 
import sys; new=sys.path[sys.__plen:]; del sys.path[sys.__plen:]; p=getattr(sys,'__egginsert',0); sys.path[p:p]=new; sys.__egginsert = p+len(new) 
</div>

而所有这些路径可以通过sys.path来看到
>>> import sys 
>>> sys.path 
['', 'C:\\Python27\\lib\\site-packages\\setuptools-0.6c11-py2.7.egg', ...,'C:\\Python27\\lib\\site-packages\\wx-3.0-msw'] 
</div>
临时的工作路径加载,可以用
>>> sys.path.append('d:\\test') 
>>> sys.path 
['', 'C:\\Python27\\lib\\site-packages\\setuptools-0.6c11-py2.7.egg', 'C:\\Python27\\lib\\, 'd:\\test'] 
>>> sys.path.remove('d:\\test') 
</div>

【模块安装】

但上面的方法只是临时性的,一旦退出程序或当前交互环境,就失效。要想永久生效就必须让其加入到上述目录中
Perl的强大在于CPAN,可喜的是,Python也开始有类似的技术及功能,比如说pip,可以用包括pip来安装模块。

1. 自写模块,直接拷贝到上述任意目录
2. 第三方模块,执行python setup.py install安装
3. 用easy_install安装

下载ez_setup.py文件
执行: python ez_setup.py
安装所要安装的模块: easy_install py

4. 用pip安装

先用easy_install pip命令来安装pip
再用pip install Markdown来安装具体模块,假设模块名为: Markdown

5. 用第三方模块管理库(比如说Canopy就可以管理科学计算模块,可惜很多需要收费)

用此工具,就可以安装ipython环境了

</div>

您可能想查找下面的文章:

  • Python模块搜索概念介绍及模块安装方法介绍

相关文章

  • python在Windows8下获取本机ip地址的方法
  • Python中map,reduce,filter和sorted函数的使用方法
  • python抓取网页中的图片示例
  • django实现分页的方法
  • python设计模式大全
  • python中的reduce内建函数使用方法指南
  • python基础教程之lambda表达式使用方法
  • Python3基础之list列表实例解析
  • python 根据正则表达式提取指定的内容实例详解
  • python动态文本进度条的实例代码

文章分类

  • vbs
  • DOS/BAT
  • hta/htc
  • python
  • perl
  • VBA
  • ColdFusion
  • ruby
  • PowerShell
  • Lua
  • Golang
  • linux shell

最近更新的内容

    • 讲解Python中for循环下的索引变量的作用域
    • Python中random模块生成随机数详解
    • 浅谈python对象数据的读写权限
    • python中的__init__ 、__new__、__call__小结
    • Python中random模块生成随机数详解
    • python实现简单socket程序在两台电脑之间传输消息的方法
    • TensorFlow dataset.shuffle、batch、repeat的使用详解
    • python实现class对象转换成json/字典的方法
    • python实现linux下使用xcopy的方法
    • Python基于smtplib实现异步发送邮件服务

关于我们 - 联系我们 - 免责声明 - 网站地图

©2020-2025 All Rights Reserved. linkedu.com 版权所有