我需要获得使用pip安装的Python3包的安装目录。
我有个包裹,比方说mkdocs-mermaid2-plugin。
pip install mkdocs-mermaid2-plugin // being installed to site-packages/mermaid2如果我在Python中使用这个包,我可以这样做import mermaid2。
我需要一个脚本,它输出给定的Python包名mkdocs 2-插件安装目录的名称。
$ ./print-installation-directory-of-package.py mkdocs-mermaid2-plugin
mermaid2发布于 2021-12-22 16:22:52
您可以通过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发布于 2021-12-23 09:57:09
用法:
$ ./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())这个解决方案是可行的--但它是丑陋的,必须有更好的方法。
https://stackoverflow.com/questions/70452039
复制相似问题