导入一个叫 spam 的模块时,解释器先在当前目录中搜索名为 spam.py 的文件,然后在环境变量 PYTHONPATH 表示的目录列表中搜索,然后是环境变量 PATH 中的路径列表。如果 PYTHONPATH 没有设置,或者文件没有找到,接下来搜索安装目录,在UNIX中,通常是 .:/usr/local/lib/python

实际上,模块从 sys.path 变量给定的目录列表开始搜索。所以,脚本可以通过sys.path来修改搜索路径。

另外,自定义的模块不要同标准模块同名

实际上,解释器由 sys.path 变量指定的路径目录搜索模块,该变量初始化时默认包含了输入脚本(或者当前目录), PYTHONPATH 和安装目录。这样就允许Python程序了解如何修改或替换模块搜索目录。需要注意的是由于这些目录中包含有搜索路径中运行的脚本,所以这些脚本不应该和 标准模块重名,否则在导入模块时Python会尝试把这些脚本当作模块来加载。这通常会引发一个错误。

import sys

sys.path.append(‘c:/python’)

import sys, pprint

pprint.pprint(sys.path)
包 是一种组织python模块的方法。比如 模块名 A.B 就是在包A里的一个子模块。

包是目录,但其中必须包含__init__.py的模块
Debian现在的python package 都要采用python-central或是python-support 来建立,以符合新的 Python Policy。

python-support

为 Python 模块提供自动重新构建支持

这个软件包包含脚本 ‘update-python-modules’,可以将纯 Python 语言编写的模块编译为字节码。

为了不生成强依赖关系,在 Python 主版本号升级时,私有 Python 模块会自动重新构建。

针对已安装的多种 Python 版本,公有 Python 模块将自动生成相应的字节码。

所以才有 /var/lib/python-support/ , 里面python2.4 python2.5各自有一个目录,实现多个版本共存于1台机器

原文地址:

http://weiweiabc109.blog.163.com/blog/static/2835722011111643052261/

python模块搜索路径 (sys.path)相关推荐

  1. PYTHON模块搜索路径

    PYTHON模块搜索路径 获取python模块的搜索路径 import sys for path in sys.path:print(path) #打印模块搜索路径 python模块的搜索路径能决定你 ...

  2. python模块搜索路径_Python模块搜索路径

    当一个名为 spam 的模块被导入的时候,解释器首先寻找具有该名称的内置模块.如果没有找到,然后解释器从 sys.path 变量给出的目录列表里寻找名为 spam.py 的文件.sys.path 初始 ...

  3. 用 .pth 文件附加 Python 模块搜索路径

    上一篇 Python 的模块搜索路径,介绍了 Python 的模块搜索路径,最终起作用的是 sys.path 路径列表.如果要自定义自己的搜索路径,就是要怎么定制 sys.path 的内容.可以简单的 ...

  4. 【Python】Python3.7.3 - sys.path 模块搜索路径详解

    文章目录 系统参考 sys.path - 模块搜索路径 用户站点目录(user site directory) 安装包到用户站点目录 第三方站点目录 site.py介绍 python启动选项 PYTH ...

  5. python-模块入门二(模块循环导入,区分python文件的两种用途,模块搜索路径,软件开发的目录规范)...

    一.模块的循环导入问题 run.py # import m1 # 第一次导入 m1.py # 错误示范 ''' print('正在导入m1') from m2 import y #第一次导入m2 x= ...

  6. python import sql脚本_13-模块介绍-import两种方式-py文件的两种用途-模块搜索路径-项目开发的目录规范...

    1.模块的介绍与使用模块import 1.1.模块的介绍 1.1.1.什么是模块? 模块就是一组功能的集合体,我们的程序可以导入模块来复用模块里的功能.在python中,模块的使用方式都是一样的,但其 ...

  7. Python编程语言学习:包导入和模块搜索路径简介、使用方法之详细攻略

    Python编程语言学习:包导入和模块搜索路径简介.使用方法之详细攻略 目录 包导入和模块搜索路径简介 1.Pyhon搜索模块路径的机制 2.自定义配置搜索路径

  8. python相对路径库_如何最简单、通俗地理解Python的搜索路径、相对路径、绝对路径?...

    目录: 一.笔记 二.我的自学路线 三.笔记目录 一.笔记 1) 搜索路径 ① 能导入模块的话,表示搜索路径中有这个模块文件. ② 当你导入一个模块,Python解析器对模块位置的搜索顺序是:1. 当 ...

  9. [转载] python __import__ 搜索路径详解

    参考链接: Python | __import __()函数 python __import__ 1.函数功能用于动态的导入模块,主要用于反射或者延迟加载模块 2.__import__(module) ...

最新文章

  1. 安卓java代码标签_Android实现动态添加标签及其点击事件
  2. C语言的main函数到底怎么写的
  3. Ubuntu创始人谈Windows 7、Chrome OS
  4. python 批量修改密码
  5. linux防火墙的复规则,Centos下iptables防火墙规则编辑方法 - YangJunwei
  6. Ubuntu 18.04 上使用 OpenJDK 安装并运行 Tomcat
  7. sqlite3 交叉编译出现configure: error: C compiler cannot create executables
  8. jQuery ajax 结合vue 获取豆瓣api 数据 ,jsonp解决跨域
  9. Hyper snap
  10. 拼音表大全图_20x11二层带阁楼别墅设计图纸及效果图大全
  11. 【愚公系列】2022年10月 微信小程序-电商项目-收货地址功能实现
  12. Python的下载安装(手把手教学)
  13. ICH E2B | ICSR 电子传输网关对接解决方案(CDE EDI)
  14. Xcode5使用遇到的问题
  15. 【Linux云计算架构:第三阶段-Linux高级运维架构】第23章—— Linux手动木马查杀过程
  16. 黑客们会用到哪些Python技术?
  17. Docker容器学习笔记(看了狂神视频)
  18. python geany是什么_Geany
  19. 为什么说DAO是未来的公司形式
  20. 经济型EtherCAT运动控制器(一):功能简介与应用场景

热门文章

  1. 程序员笔试面试基础知识资料整理
  2. 编程之美-求数组中最长递增子序列(LIS)方法整理
  3. c++ 11 移动语义
  4. 五分钟重温斐波那契数列
  5. 使用C#开发数据库应用系统
  6. 10个最佳Node.js企业应用案例:从Uber到LinkedIn
  7. React Native ios打包
  8. [学习windows/记录篇]安装TMG防火墙(三向外围)
  9. 【转】[你必须知道的.NET]第二十一回:认识全面的null
  10. 利用apache-commons-fileupload写jsp上传文件