获取pip安装包的安装目录的名称

  • 本文关键字:安装 获取 pip python-3.x pip
  • 更新时间 :
  • 英文 :


我需要获得使用pip安装的Python3包的安装目录。

我有一个包裹,比方说mkdocs-mermaid2-plugin

pip install mkdocs-mermaid2-plugin // being installed to site-packages/mermaid2

如果我在Python中使用这个包,我可以使用import mermaid2

我需要一个脚本,它为给定的Python包名称输出安装目录的名称。

$ ./print-installation-directory-of-package.py mkdocs-mermaid2-plugin
mermaid2

您可以通过pip命令来完成此操作

pip show mkdocs-mermaid2-plugin

这将显示有关该pip包的所有信息

如果你想获得关于安装了什么软件包的信息,你可以做

pip list

示例:

pip show xkit

返回

Name: xkit
Version: 0.0.0
Summary: library for the manipulation of the xorg.conf
Home-page: https://launchpad.net/x-kit
Author: Alberto Milone
Author-email: albertomilone@alice.it
License: GPL v2 or later
Location: /usr/lib/python3/dist-packages
Requires:
Required-by:

如果你只想返回位置,你可以使用以下

pip show xkit | grep -F Location

用法:

$ ./print-directory-of-module.py mkdocs-mermaid2-plugin
mermaid2

来源:

#!/usr/bin/env python
import os
import sys
import importlib.metadata
from importlib.metadata import distribution
args = sys.argv[1:]
if len(args) > 0:
try:
dist = distribution(args[0])
except importlib.metadata.PackageNotFoundError as e:
print('Package {} not found'.format(e), file=sys.stderr)
sys.exit(1)
pathToTopLevelFile = os.path.join(dist._path, "top_level.txt")
f = open(pathToTopLevelFile)
print(f.read().strip())

这个解决方案是有效的,但非常丑陋,必须有更好的方法。

最新更新