python import模块的搜索路径

  当在py代码中import所依赖的模块时, python是从哪里找到这些模块呢,即模块的搜索路径是啥?

默认情况下,Python解释器会搜索当前目录、所有已安装的内置模块和第三方模块,搜索路径存放在sys模块的path变量中:

>>> import sys
>>> sys.path
[‘‘, ‘C:\\Windows\\system32\\python27.zip‘, ‘d:\\Program Files\\python27\\DLLs‘,
 ‘d:\\Program Files\\python27\\lib‘, ‘d:\\Program Files\\python27\\lib\\plat-win
‘, ‘d:\\Program Files\\python27\\lib\\lib-tk‘, ‘d:\\Program Files\\python27‘, ‘d
:\\Program Files\\python27\\lib\\site-packages‘]
>>>

  如果想要添加自定义路径,有两种办法:

一种是在运行时直接给sys.path添加路径,这种方法在当前脚本运行结束后,

自定义添加的路径即失效。

1 import sys
2
3 sys.path.append("../../ias_common")

第二种是将自定义路径添加到环境变量“PYTHONPATH”中,这种方法永久有效。

参考文章:

【1】http://blog.csdn.net/lujiandong1/article/details/47159259

时间: 2024-08-29 03:15:52

python import模块的搜索路径的相关文章

模块的搜索路径

目录 模块搜索路径的顺序(掌握) 验证先从内存中找 验证先从内置中找 验证从sys.path中找 搜索路径以执行文件为准(掌握) 模块搜索路径的顺序(掌握) 模块其实就是一个文件,如果要执行文件,首先就需要找到模块的路径(某个文件夹).如果模块的文件路径和执行文件不在同一个文件目录下,我们就需要指定模块的路径. 模块的搜索路径指的就是在导入模块时需要检索的文件夹. 导入模块时查找模块的顺序是: 先从内存中已经导入的模块中寻找 内置的模块 环境变量sys.path中找 import sys pri

导入模块的搜索路径以及sys.path

模块的搜索顺序 #内存---->内置------>sys.path import sys print(sys.path) #打印出当前的sys.path的搜索路径,在内存和内置中都找不到该模块的情况下会到下面的这些路径逐个去找,并以打印出的顺序作为优先级. #['D:\\Python_OldBoy\\day05\\模块与包', 'D:\\Python_OldBoy', 'C:\\Users\\dell\\AppData\\Local\\Programs\\Python\\Python35\\p

Python import模块

import模块 一.模块介绍 1.定义 模块:用来从逻辑上组织python代码(变量,函数,类,逻辑:实现一个功能), 本质就是.py结尾的python文件(文件名:test.py,对应的模块名:test). 包:用来从逻辑上组织模块的,本质就是一个目录(必须带有一个_init_.py文件) 2.导入方法 导入多个模块:import 模块1,模块2,模块3 导入所有函数:from 模块名 import * 导入多个函数:from 模块名 import 函数1,函数2,函数3 关键字修改函数名:

python导入模块时对路径的处理

导入模块时的理论部分: 如果自定义一个模块,导入的时候很可能出问题,因为系统自动回去sys.path输出的这几个目录下去找,而自定义的模块很可能不再这些目录下,就需要人为的添加进去才能使用,所以就引出了后面几种方法 下面是在pycharm中的一个例子 在pycharm中可以使用os模块的__file__来得到当前目录import os import sys project_path = os.path.dirname(os.path.dirname(__file__)) sys.path.app

【python学习笔记】模块导入搜索路径的搜索顺序是什么?

搜索顺序应该是? 内置模块 ->主目录 ->PYTHONPATH环境变量 ->标准库 ->.pth文件指定的内容 所以如果主目录里有一个自定义的模块文件文件,应该会先加载,然后后面标准库的模块文件可能就不会加载了,也就是隐藏了. 还是实验一下: 创建一个sys.py在主目录下,以下是在windows的py3.5上实验的,sys.py内容: # filename sys.py in current working directory def func():     print('Th

Python import 模块导入问题

最近在用Python做决策树(Decision tree)时, 遇见了一个以前没有遇到的问题,就是用'import sklearn.tree'时一切正常,但是'import sklearn..... sklearn.tree'时却报错说: AttributeError: 'module' object has no attribute 'tree'. python的导入机制是这样的,在用 'import sklearn' 时,它只会导入 \${sklearn_dir}/__init__.py 里

python添加包的搜索路径

方法一:函数添加1 import sys2 查看sys.path3 添加sys.path.append("c:\\") 方法二:修改环境变量w用户可以修改系统环境变量PYTHONPATH 方法三:增加.pth文件,推荐!在site-packages添加一个路径文件,如mypkpath.pth,必须以.pth为后缀,写上你要加入的模块文件所在的目录名称就是了. 1 windows    c:\python27\site-packages  2 linux(ubuntu)   /usr/l

修改python import模块中的变量

可以直接通过 模块名.变量名=xx 的方式修改模块中的全局变量,测试代码如下 模块:test_model.py x = 111 def inc_x(): global x x = x + 1 测试脚本:test.py import test_model print('test_model.x =', test_model.x) test_model.x = 10 print('test_model.x =', test_model.x) test_model.inc_x() print('tes

将python添加到DOS搜索路径中去

1.安装python,我的程序安装在C:\Python34中文件目录中. 2.设置环境变量: 例如你的程序为:C:\Python34,则你需要把这个地址粘贴在: 右键我的电脑->属性->高级->环境变量,然后再下边的 系统变量 选择框中,编辑path(不区分大小写),在变量值的框中,添加:" ;C:\Python26"双引号中的内容