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