首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >获取pip已安装包的安装目录名称

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

Stack Overflow用户
提问于 2021-12-22 16:14:49
回答 2查看 108关注 0票数 1

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

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

代码语言:javascript
复制
pip install mkdocs-mermaid2-plugin // being installed to site-packages/mermaid2

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

我需要一个脚本,它输出给定的Python包名mkdocs 2-插件安装目录的名称。

代码语言:javascript
复制
$ ./print-installation-directory-of-package.py mkdocs-mermaid2-plugin
mermaid2
EN

回答 2

Stack Overflow用户

发布于 2021-12-22 16:22:52

您可以通过pip命令来完成这一任务。

代码语言:javascript
复制
pip show mkdocs-mermaid2-plugin

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

如果您想获得有关安装了哪些软件包的信息,您可以这样做。

代码语言:javascript
复制
pip list

示例:

代码语言:javascript
复制
pip show xkit

返回

代码语言:javascript
复制
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:

如果您只想返回位置,则可以使用以下方法完成此操作

代码语言:javascript
复制
pip show xkit | grep -F Location
票数 1
EN

Stack Overflow用户

发布于 2021-12-23 09:57:09

用法:

代码语言:javascript
复制
$ ./print-directory-of-module.py mkdocs-mermaid2-plugin
mermaid2

来源:

代码语言:javascript
复制
#!/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())

这个解决方案是可行的--但它是丑陋的,必须有更好的方法。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/70452039

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档