加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 编程开发 > Python > 正文

python 如何找到import的包

发布时间:2020-12-20 10:19:51 所属栏目:Python 来源:网络整理
导读:? Python?import?时会首先寻找?sys.path?中列出的路径,通常是这样: import sys ‘n‘.join(sys.path) /usr/lib/python2.7 /usr/lib/python2.7/plat-x86_64-linux-gnu /usr/lib/python2.7/lib-tk /usr/lib/python2.7/lib-old /usr/lib/python2.7/lib-dynlo

?

Python?import?时会首先寻找?sys.path?中列出的路径,通常是这样:


>>> import sys
>>> ‘n‘.join(sys.path)

/usr/lib/python2.7
/usr/lib/python2.7/plat-x86_64-linux-gnu
/usr/lib/python2.7/lib-tk
/usr/lib/python2.7/lib-old
/usr/lib/python2.7/lib-dynload
/usr/local/lib/python2.7/dist-packages
/usr/lib/python2.7/dist-packages
那么 Python 是如何获取?sys.path?的呢?根据?Python 的文档,首先是当前目录,然后是?PYTHONPATH?环境变量,再之后是安装时设置的默认目录,由?site?模块控制。


Python 在启动的时候会自动引用?site?模块,关于它是如何操作?sys.path?的,可以参考相关文档。

当然,你也可以手动操作?sys.path,这同样会影响会话期间 Python 寻找包的行为。

imp?模块
Python 的 import 流程由?imp 模块?控制,因此我们可以完全自己手动控制库的 import 过程。

使用?imp.find_module?来寻找模块:

>>> import imp
>>> imp.find_module(‘numpy‘)
(None,‘/usr/local/lib/python2.7/dist-packages/numpy‘,(‘‘,‘‘,5))
当然,我们可以使用?imp.load_source?直接 import 某个包文件并指定其包名。

imp.load_source(‘module_name‘,‘module_full_path‘)

print(module_name)
python – dist-packages和site-packages有什么区别?
sudo apt-get install 安装的package存放在?/usr/lib/python2.7/dist-packages目录中
pip 或者 easy_install安装的package存放在/usr/local/lib/python2.7/dist-packages目录中
手动从源代码安装的package存放在site-packages目录中

————————————————版权声明:本文为CSDN博主「cvml」的原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接及本声明。原文链接:https://blog.csdn.net/qq_15505637/article/details/80908751

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读