最新公告
  • 欢迎您光临波比源码,本站秉承服务宗旨 履行“站长”责任,销售只是起点 服务永无止境!立即加入我们
  • Python模块搜索及模块安装

    import模块

    和C中的#include不同,Python中的import语句并不是简单的把1个文件插入另外1个文件。

    导入实际上是运行时的运算,程序第1次导入指定文件时,会履行以下步骤,

    1. 找到模块文件

    2. 编译成位码

    3. 履行模块中的代码来创建所定义的模块

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

    NOTE: 

    1. Python把已加载的模块放在内置的sys.modules字典中,在import操作开始时会确认援用的模块是不是已加载。如果想看哪些模块已加载,可以导入sys,打印sys.modules.keys()

    >>> sys.modules.keys()
    ['heapq', 'functools', 'pyreadline.console.ansi',…,'pyreadline.modes']

    2. 可以import的4种文件类型

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

    搜索路径

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

    1. 程序的主目录(程序当前运行的目录)

    2. PYTHONPATH目录(在环境变量里面配置与加到Path中1样)

    3. 标准库目录(比如说: C:Python27Lib)

    4. .pth文件所在内容(1般放在Libsite-packages目录下,以下:easy-install.pth)

    import sys; sys.__plen = len(sys.path)
    ./setuptools-0.6c11-py2.7.egg
    ./py⑴.4.26-py2.7.egg
    ./sphinx⑴.3b1-py2.7.egg
    ./colorama-0.3.2-py2.7.egg
    ./babel⑴.3-py2.7.egg
    ./snowballstemmer⑴.2.0-py2.7.egg
    ./docutils-0.12-py2.7.egg
    ./pygments⑵.0.1-py2.7.egg
    ./jinja2⑵.7.3-py2.7.egg
    ./six⑴.8.0-py2.7.egg
    ./pytz⑵014.9-py2.7.egg
    ./markupsafe-0.23-py2.7.egg
    ./pyzmq⑴4.4.1-py2.7-win-amd64.egg
    ./tornado⑷.0.2-py2.7-win-amd64.egg
    ./backports.ssl_match_hostname⑶.4.0.2-py2.7.egg
    ./certifi⑴4.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)

    而所有这些路径可以通过sys.path来看到

    >>> import sys
    >>> sys.path
    ['', 'C:Python27libsite-packagessetuptools-0.6c11-py2.7.egg', …,'C:Python27libsite-packageswx⑶.0-msw']

    临时的工作路径加载,可以用

    >>> sys.path.append('d: est')
    >>> sys.path
    ['', 'C:Python27libsite-packagessetuptools-0.6c11-py2.7.egg', 'C:Python27lib, 'd: est']
    >>> sys.path.remove('d: est')

    模块安装

    但上面的方法只是临时性的,1旦退出程序或当前交互环境,就失效。要想永久生效就必须让其加入到上述目录中

    Perl的强大在于CPAN,可喜的是,Python也开始有类似的技术及功能,比如说pip,可以用包括pip来安装模块。

    1. 自写模块,直接拷贝到上述任意目录

    2. 第3方模块,履行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. 用第3方模块管理库(比如说Canopy就能够管理科学计算模块,惋惜很多需要收费)


    用此工具,就能够安装ipython环境了


    波比源码 – 精品源码模版分享 | www.bobi11.com
    1. 本站所有资源来源于用户上传和网络,如有侵权请邮件联系站长!
    2. 分享目的仅供大家学习和交流,您必须在下载后24小时内删除!
    3. 不得使用于非法商业用途,不得违反国家法律。否则后果自负!
    4. 本站提供的源码、模板、插件等等其他资源,都不包含技术服务请大家谅解!
    5. 如有链接无法下载、失效或广告,请联系管理员处理!
    6. 本站资源售价只是赞助,收取费用仅维持本站的日常运营所需!
    7. 如遇到加密压缩包,请使用WINRAR解压,如遇到无法解压的请联系管理员!

    波比源码 » Python模块搜索及模块安装

    常见问题FAQ

    免费下载或者VIP会员专享资源能否直接商用?
    本站所有资源版权均属于原作者所有,这里所提供资源均只能用于参考学习用,请勿直接商用。若由于商用引起版权纠纷,一切责任均由使用者承担。更多说明请参考 VIP介绍。
    提示下载完但解压或打开不了?
    最常见的情况是下载不完整: 可对比下载完压缩包的与网盘上的容量,若小于网盘提示的容量则是这个原因。这是浏览器下载的bug,建议用百度网盘软件或迅雷下载。若排除这种情况,可在对应资源底部留言,或 联络我们.。
    找不到素材资源介绍文章里的示例图片?
    对于PPT,KEY,Mockups,APP,网页模版等类型的素材,文章内用于介绍的图片通常并不包含在对应可供下载素材包内。这些相关商业图片需另外购买,且本站不负责(也没有办法)找到出处。 同样地一些字体文件也是这种情况,但部分素材会在素材包内有一份字体下载链接清单。
    波比源码
    一个高级程序员模板开发平台
    升级波友尊享更多特权立即升级