pip install的机理
二级标题
前言
经常用pip install安装python包,突然想知道这些包都安装到哪里了,是怎么安装的,于是就查了一下,在此稍作梳理。
正文
大多数人都用过windows,也都安装过软件,其过程简单来说就是下载安装包,运行安装程序,选择安装路径,开始安装。其实pip install也是这个过程,这不过是将这些过程自动化了,那么pip install命令运行后都做了哪些工作呢?
首先,就是搜索下载。从python的官方资源网站,搜索到你需要的包以后将其拉到本地。
其次就是安装。所谓的安装其实就是将包放到python的默认搜索路径中,在import时python解释器会从搜索路径中查找所需的包。默认的安装路径就是python的安装路径下的lib/site-packages
目录。
1. import 的搜索路径
python在import时,会从指定的路径中去搜索包。这里‘指定的路径’包括默认路径和自定义路径,可以利用sys.path
查看目前所有的搜索路径,上面提到的lib/site-packages
目录就默认在里面。sys.path
输出的路径的前后顺序就是python搜索包的前后顺序,其中第一个是当前路径,python会优先搜索当前路径下的包和模块。
2. 自定义python包
在python中,有模块(module)和包(package)这两个概念。一个.py文件就是一个模块;一个包含__init__.py文件的文件夹就是一个包,也就是模块的集合。
自定义python包就是在文件夹中添加一个__init__.py文件,内容无所谓有无。如果自定义的包有一些子包或者子模块,或者想要使用其他已安装的python包的话,就需要在__init__.py中进行声明。
要使用自定义的python包很简单,把包放到搜索路径(sys.path
)中即可,比如放在当前路径下或者默认的任意路径下,除此之外,补充另外一种方法,就是把包放在任意路径下,然后在上述的sys.path
任意路径中定义一个xx.pth文件,名字任意,然后将包的实际路径添加到此文件中即可。这种方式很简单便于管理,在需要大量添加外部路径的时候非常推荐,而且是永久生效。启动Python程序时候,解释器就会遍历目录,遇到pth就会读取这个文件中的内容并添加到sys.path中。
参考
谈谈全自动安装常使用的pip install的原理及作用!!!_ac不知深的博客-CSDN博客_install pip
Python import搜索的路径顺序_顺其自然~的博客-CSDN博客_python搜索路径顺序
python import 搜索包路径的机制,以及添加自定义python包的方法_alphanoblaker的博客-CSDN博客_python添加包路径