python的模块查找路径
python中每一个 .py文件即为一个模块,当我们想使用第三方模块时,首先则是使用import将模块导入进来,但是import会在哪些路径里寻找模块呢,接下来总结一下:
简单的说我们可以使用一下代码查看模块所在路径:
import sys
print(sys.path)
返回的结果是一个列表,该列表中列出了寻找模块时的路径,列表中的内容基本上来自以下几个来源:
- 当前文件夹路径
- PYTHONPATH环境变量所对应文件路径
- Python安装的标准链接库等文件夹路径
- PTH文件列出的文件夹路径
所以,当我们编写好一个.py文件之后,如果我们想在另一个.py文件中import该模块(即.py文件),对应有四种方法可以实现让python解释器找到该模块。
- 将该模块放在当前路径
- 设置PYTHONPATH环境变量为模块所在路径
- 将模块放在标准链接库等文件夹路径中
- 在PTH文件中增加该模块所在路径即可
前面3点都很好理解,关于最后一点,以下详细说明:
PTH文件的存放位置在不同的操作系统中有所差异,但是通过site这个内置模块的getsitepackages()函数可以获取正确的位置。如我的电脑显示如下:
可以看见返回了两条路径,我在其中一个路径下面新建workspace.pth文件,然后编写该文件,一行一个路径如:
C:\ProgramData
D:\tmp
以后便是我在该.pth文件里所对应的路径下面编写的模块,在另外的模块中使用import导入时便不会出错了。你可以使用sys.path输出,也会看见C:\ProgramData,D:\tmp这两条路径。
另外:
1. 在Windows中用SET PYTHONPATH = 路径1;路径2的方式来设置PATHONPATH环境变量。
2. 也可以使用如下代码设置:sys.path.append('c:\workspace')
3. 模块查找的顺序为:内存中已经加载的模块–>内置模块–>sys.path路径中包含的模块
当一个模块被import时,会发生以下事情:
1. 在sys.path寻找模块
2. 加载、编译模块的程序代码
3. 创建空的模块对象
4. 在sys.modules中记录该模块
5. 执行模块中的程序代码及相关定义
哈哈,写得比较乱,当然我自己可以看懂,目的也是方便自己以后查阅,要是哪位网友逛到这儿来了,你就将就方便看吧,哈哈。。
python的模块查找路径相关推荐
- python找图是什么模块-python中模块查找的原理与方法详解
前言 本文主要给大家介绍了关于python模块查找的原理与方式,分享出来供大家参考学习,下面话不多说,来一起看看详细的介绍: 基础概念 module 模块, 一个 py 文件或以其他文件形式存在的可被 ...
- python第三方模块安装路径_Python第三方Window模块文件的几种安装方法
python安装第三方模块 使用软件管理工具pip python自带了包管理工具,就像手机app商城,91助手等软件的功能一样. python2与python3安装模块的方法相似,值得注意的是,你在p ...
- Python模块查找路径
Python通过import来加载模块.加载前首先按照如下顺序查找模块文件: 1.需要加载模块的Python文件所在目录. 例如: A.py在/opt/test目录下,A.py需要加载B.py,则运行 ...
- python psutil模块查找进程_python模块 - psutil
一.psutil模块: 1. psutil模块简介 他是一个跨平台库 ( http://pythonhosted.org/psutil/ ) 能够轻松实现获取系统运行的进程和系统利用率(包括CPU.内 ...
- python添加模块搜索路径
1.函数添加 import sys sys.path sys.path.append("c:\\") 2.修改pythonpath(试不通) windows:PYTHONPATH ...
- python heapq模块查找集合中最大或最小n个元素列表
怎样从一个集合中获得最大或者最小的 N 个元素列表? heapq 模块有两个函数: nlargest() 和 nsmallest() 可以完美解决这个问题. 举例说明: 一.集合类型 "&q ...
- python psutil模块查找进程_psutil获取进程信息
获取所有进程pid [root@bogon python_auto]# vim process.py !/usr/bin/env python import psutil pids = psutil. ...
- 获取 python import模块的路径
import a_module print a_module.__file__ 上述代码将范围 .pyc 文件被加载的路径,如果需要跨平台解决方案,可用下面代码: import os path = o ...
- 【Python】Python3.7.3 - sys.path 模块搜索路径详解
文章目录 系统参考 sys.path - 模块搜索路径 用户站点目录(user site directory) 安装包到用户站点目录 第三方站点目录 site.py介绍 python启动选项 PYTH ...
最新文章
- Internet History, Technology, and Security----第三周
- Jenkins之gitlab配置
- Use Ghidra To Reverse GenyMotion—Suggestion
- python中重要的模块asyncio
- 成功解决ModuleNotFoundError: No module named ‘sklearn.lda‘
- #C++初学记录#日常学习函数
- IoC(控制反转)的主要组件和注入的两种方式
- cvpr 注意力机制_视频人员重识别:关系引导空间注意力 + 时间特征提取模型
- 最全办公室租赁技巧,让你找到心仪的办公室
- 照片转3d模型_云从科技3D人体重建技术刷新3项纪录!仅凭照片即可生成精细模型...
- qt toggled trigger clicked区别
- 云服务器哪家最好,如何选择云服务器
- Python中Scapy使用方法,模块中的常用函数,简单的端口扫描编写
- 测试网络连接速度 http://www.phoenixtv.com.cn/home/fhkp/testspeed.htm
- CVE PoC的精选列表(三)
- 编写宏(macro)时遇到的小错误
- 【机器学习】机器学习常见符号
- iToo Software推出Forest Pack 6
- 绝妙四道题(C语言)
- softmax与交叉墒层的实现原理以及梯度计算