python模块搜索路径 (sys.path)
2014-10-09 18:03
746 查看
导入一个叫 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/
实际上,模块从 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 Import机制备忘-模块搜索路径(sys.path)、嵌套Import、package Import
- Python Import机制备忘-模块搜索路径(sys.path)、嵌套Import、package Import
- Python3基础 sys.path.append 增加模块的搜索路径,在主代码处新建一个存放模块的文件夹并将其路径添加到sys.path中
- Python Import机制备忘-模块搜索路径(sys.path)、嵌套Import、package Import
- Python Import机制备忘-模块搜索路径(sys.path)、嵌套Import、package Import
- Python Import机制备忘-模块搜索路径(sys.path)、嵌套Import、package Import(转)
- Python Import机制备忘-模块搜索路径(sys.path)、嵌套Import、package Import
- Python Import机制备忘-模块搜索路径(sys.path)、嵌套Import、package Import
- Python Import机制备忘-模块搜索路径(sys.path)、嵌套Import、package Import
- Python Import机制备忘-模块搜索路径(sys.path)、嵌套Import、package Import
- Python Import机制备忘-模块搜索路径(sys.path)、嵌套Import、package Import
- Python Import机制-模块搜索路径(sys.path)、嵌套Import、package Import
- Python Import机制备忘-模块搜索路径(sys.path)、嵌套Import、package Import(转)
- Python Import机制备忘-模块搜索路径(sys.path)、嵌套Import、package Import
- python笔记13 - 系统模块,自定义模块的编写,模块的搜索路径,PYTHONPATH环境变量,模块的属性:__doc__, __all__,__file__,标准库模块,包
- python根据路径导入模块的两种方法:sys.path.append和imp.load_source
- Python Import机制备忘-模块搜索路径(sys.path)、嵌套Import、package Import
- 【Python】sys.path.append动态添加搜索路径设置
- Python模块详解以及import本质,获得文件当前路径os.path.abspath,获得文件的父目录os.path.dirname,放到系统变量的第一位sys.path.insert(0,x)
- Python Import机制备忘-模块搜索路径(sys.path)、嵌套Import、package Import