native.loadlibrary获取路径不对_【Python专题(三)】Python模块导入与路径管理

6b70bf19b43baeaff211711365887fc7.png

前言

Python项目的路径管理是一个让人头疼的问题。在写python项目的时候,明明 import了文件A,代码运行时却收到 ModuleNotFoundError,仔细一看,是引用路径不对,很是气人。又或者,当项目中出现了重名的packages时,发现引用的函数并不是自己想要的,而是其他同名packages中的函数。这些问题归根结底都是Python路径管理的问题。那么今天我们一起来看看Python的路径管理到底是怎么做的,了解原理后,以后自然不会被路径问题所困扰了!

路径索引顺序

如我们在Python专题(二)Python二三事中讲的,Python2和Python3在路径索引的顺序上有些许不同,感兴趣的同学可以参考上篇专题内容。本文仅讲Python3版本的情况。首先,在Python中有内建函数(built-in)、第三方库(site-packages)以及自义库三种可以 import的模块。然后,在 import模块时,Python解释器的搜索顺序是先搜索built-in模块,然后搜索 sys.path这个路径列表中的模块。那么Python的built-in模块又有哪些呢?我们可以在Python中用如下命令查看:

import sys
print(sys.builtin_module_names)

你会看到一长串builtin模块的名字,这些模块名称是 import动作最先搜索到的。

我们在来看看sys.path中又有哪些东西呢?

sys.path是一个路径列表,里面保存了解释器可以索引的所有路径。这个路径列表可分为如下部分:

  • 当前脚本路径
  • PYTHONPATH路径
  • 虚拟环境路径
  • site-packages路径

一般来说,第三方库会安装在site-packages路径下,当前脚本路径则是一些自定义模块,而PYTHONPATH和虚拟环境路径则是当前系统的环境变量和Python虚拟环境保存的路径。

所以当来了一个 import命令时,Python解释器的搜索顺序就是:

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值