Python 第三方包的位置在哪?Python 第三方包介绍

我被代码海扁署名-非商业-禁演绎
阅读 3:54·字数 1174·发布 
Bilibili 空间
关注 950

Python 第三方包

Python 第三方包是指由社区用户或团体自行开发和维护的包,他们中的大部分会被上传至存储库进行发布。当然,为了方便第三方包的下载和安装,一般会配有对应的第三方包管理工具,比如,官方推荐的 pip。

Python 第三方包的位置

在不同的操作系统和 Python 版本中,第三方包的位置可能是不同的,但大多数情况下,他至少指向一个名为site-packages的文件夹。

在 Windows 中,Python 第三方包一般位于安装目录的Lib\site-packages文件夹。

在 UNIX/Linux/macOS 中,Python 第三方包可能位于lib/python<X>.<Y>/site-packages文件夹,这里的lib一般是指/usr/lib,或/usr/local/lib,或同一位置的lib64X为 Python 主版本号,Y为次版本号。当然,依据你所采用的 Python 安装来源,路径中的python<X>.<Y>可能会以其他形式出现。

Python 第三方包的位置可指向多个目录

在 Python 中,第三方包的位置可以指向多个目录。比如,在 UNIX/Linux/macOS 中,除了lib/python<X>.<Y>/site-packages,第三方包的位置还可能指向lib/python<X>/site-packages

Debian 中 Python 第三方包的位置

在操作系统Debian中,第三方包路径中的site-packages被替换为了dist-packages

尽量在 UNIX/Linux/macOS 中使用同一安装来源的 Python 和 pip

由于 UNIX 和 Linux 拥有众多版本,且他们可以发布适合自己的 Python 和 pip,因此,从不同来源安装的 Python 和 pip 可能无法正常工作。比如,Python 和 pip 认定的第三方包位置不同,导致 pip 安装的第三方包无法被 Python 识别,需要修改 Python 模块搜索路径。

查看 Python 第三方包的位置

如果无法确定,你可以通过调用site模块的getsitepackages函数,来查看第三方包的位置。

进入 Python 的交互模式后,输入import sitesite.getsitepackages()两行代码,将显示所有的第三方包目录。如果是py文件,可以将site.getsitepackages()改为print(site.getsitepackages()),以在终端输出相关信息。

Windows
import site
site.getsitepackages()
['', '\\Lib\\site-packages']
UNIX/Linux/macOS
import site
site.getsitepackages()
['/usr/local/lib64/python/site-packages', '/usr/local/lib/python/site-packages', '/usr/lib64/python/site-packages', '/usr/lib/python/site-packages']
print_sitepackages.py
# 通过 site 模块获取第三方包目录
import site
print(site.getsitepackages())

源码

print_sitepackages.py·codebeatme/python-reference·GitHub