Python 包安装在哪里
-
使用
pip命令列出已安装的软件包 -
使用
conda命令列出本地安装的软件包 -
使用
python命令列出已安装的软件包 -
使用
distutils.sysconfig模块列出已安装的软件包 -
使用
sysconfig模块列出已安装的软件包
Python 中的包可以定义为包含 Python 文件的目录。这些文件通常是 Python 模块。
随着程序变得越来越大和越来越复杂,类似的模块被放置在一个包中,这有助于使程序更易于管理并具有更好的可读性。这种方法通常称为模块化编程,包有助于实现它。
文件 __init__.py 必须包含在目录中,以便 Python 将其视为包。该文件通常包含包的初始化代码,但可以留空。
本教程将讨论查找安装 python 包的目录的不同方法。
使用 pip 命令列出已安装的软件包
在 Python 中,包可以在全局和本地安装。
一个包在全局安装时可供系统中的所有用户使用。相同的包在本地安装时,仅对手动安装它的用户可用。
默认情况下,pip 命令会全局安装软件包。
以下代码使用 pip 命令列出全局安装的软件包。
# we can also use "pip list command"
pip freeze
尽管默认情况下,pip 命令会全局安装软件包,但也可以使用此命令查看本地手动安装的软件包。
以下代码使用 pip 命令列出本地安装的软件包。
# we can also use "pip list --user"
pip freeze --user
使用 conda 命令列出本地安装的软件包
此方法仅适用于使用 Anaconda IDE 的程序员。可以在 conda 环境中列出本地安装的包。要执行此操作,我们只需在 Anaconda 提示符中编写一行代码。
以下代码使用 conda 列出本地安装的软件包。
conda list
使用 python 命令列出已安装的软件包
python 命令可用于查找包站点目录。
全球网站套餐
发现全局站点包列在 sys.path 中。
以下代码使用 python 命令列出全局安装的软件包。
python -m site
site 模块也可以与 python 命令一起使用,以获得更好、更简洁的包列表。此方法使用 site 模块中的 getsitepackages()。
以下代码使用 python 命令和 site 模块列出全局安装的软件包。
python -c 'import site; print(site.getsitepackages())'
请注意 getsitepackages() 函数在 virtualenv 中不可用。
本地安装的软件包
本地包安装在 per-user 站点包目录 (PEP 370) 中。
以下代码使用 python 命令列出本地安装的软件包。
python -m site --user-site
使用 distutils.sysconfig 模块列出已安装的软件包
distutils 包可用于提供在 Python 安装中安装和构建附加模块的功能。在这种情况下,它也可用于列出包。
以下代码使用 distutils.sysconfig 列出全局安装的软件包。
python -c "from distutils.sysconfig import get_python_lib; print(get_python_lib())"
唯一的缺点是它会将我们指向 dist-packages 或操作系统自动安装的软件包的目录。
使用 sysconfig 模块列出已安装的软件包
在 Python 3 及更高版本中,sysconfig 模块可用于列出已安装的软件包。
不要将 sysconfig 模块与上面提到的 distutils.sysconfig 子模块混淆。后者是一个完全不同的模块,它在此处使用的 get_paths 函数中存在缺陷。
以下代码使用 sysconfig 模块列出已安装的软件包。
python -c "import sysconfig; print(sysconfig.get_path('purelib'))"
我们在这里使用 purelib 路径,它是标准 Python 包的安装位置,并借助 pip 等工具。
Vaibhhav is an IT professional who has a strong-hold in Python programming and various projects under his belt. He has an eagerness to discover new things and is a quick learner.
LinkedIn