如何设置python模块的默认搜索路径?

Python013

如何设置python模块的默认搜索路径?,第1张

Python的模块搜索路径PYTHONPATH类似Java的CLASSPATH\x0d\x0a由以下路径组合而成,通过更改以下4者其中之一都可以改变Python模块的默认搜索路径:\x0d\x0a1.当前工作目录\x0d\x0a2.操作系统的PYTHONPATH环境变量\x0d\x0a3.Python安装目录lib/site-packages中或PYTHONPATH中的.pth文件定义的路径\x0d\x0a如:find~/my_lib-typed-print>~/python2.6/site-packages/my_lib.pth\x0d\x0a4.运行时对sys.path的改变,如:\x0d\x0a\x0d\x0a向后增加:\x0d\x0asys.path.append(path)\x0d\x0apath不要以/或\结尾。\x0d\x0a向前增加:\x0d\x0asys.path.insert(0,path)

当导入名为spam的模块时,解释器将在当前目录中搜索名为spam.py的文件,然后在环境变量PYTHONPATH指定的目录列表中搜索。这与shell变量PATH具有相同的语法,即目录名称列表。当没有设置PYTHONPATH时,或者当没有找到文件时,搜索将继续依赖于与安装相关的默认路径在Unix上,这通常是:/ usr / local / lib / python。

实际上,在由包含输入脚本(或当前目录)的目录PYTHONPATH和与安装相关的默认值的目录中初始化的变量sys.path给出的目录列表中搜索模块。这允许Python程序知道他们正在做什么来修改或替换模块搜索路径。请注意,因为包含正在运行的脚本的目录位于搜索路径上,因此该脚本与标准模块不具有相同的名称非常重要,否则当导入该模块时,Python将尝试将该脚本作为模块加载。这通常是一个错误。有关详细信息,请参见第6.2节“标准模块”。