Python 模块存储在哪里?

我最近开始学习 Python,我有两个与模块相关的问题。

  1. 有没有一种方法可以获得机器上可用(即已安装)的 Python 模块列表?
  2. 我使用 Ubuntu Karmic 和 Synaptic 进行包管理。我刚刚安装了一个 python 模块。我的机器上实际存储的模块代码在哪里?(是否有存储模块的默认[推荐]位置) ?
405312 次浏览
  1. 是否有方法获取 可用的 Python 模块(即。 安装在机器上?

这对我有用:

help('modules')
  1. 模块代码到底在哪里 储存在我的机器上?

通常在 Python 文件夹的 /lib/site-packages中(至少在 Windows 中)

您可以使用 sys.path查找在哪些目录中搜索模块。

  1. 您可以遍历 sys.path中列出的目录来查找所有模块(内置模块除外)。
  2. 它可能在 /usr/lib/pythonX.X/site-packages附近的某个地方(同样,参见 sys.path)。考虑使用本地 Python 包管理(通过 pipeasy_install,再加上 yolk) ,Linux 发行版维护的存储库中的包往往已经过时。

1)使用帮助功能

进入 python 提示符并键入以下命令:

>>>help("modules")

这将列出系统中安装的所有模块。您不需要安装任何其他包来列出它们,但是您需要从列表中手动搜索或筛选所需的模块。

2)使用冻结点

sudo apt-get install python-pip
pip freeze

即使您需要安装额外的软件包来使用它,这种方法也允许您使用 grep命令轻松地搜索或筛选结果。例如 pip freeze | grep feed

你可以使用任何你方便的方法。

在 python 命令行上,首先导入需要定位的模块。

import module_name

然后输入:

print(module_name.__file__)

例如查找“ pygal”的位置:

import pygal
print(pygal.__file__)

产出:

/anaconda3/lib/python3.7/site-packages/pygal/__init__.py

您可以通过首先列出模块来查找模块代码:

help("modules")

这里列出了 Python 可以导入的模块列表:

输入任何模块名称以获得更多帮助。或者,键入“模块垃圾邮件”到 搜索其名称或摘要包含字符串“垃圾邮件”的模块。

查找模块位置:

help("module_Name")

例如:

help("signal")

这里有很多信息。滚动到底部找到它的位置

/usr/lib/python3.5/signal.py

要查看代码,退出 Python REPL 后:

nano /usr/lib/python3.5/signal.py

如果使用 condapip安装模块,可以使用

pip list

或者

conda list

显示所有的模块。这将显示所有的模块在终端本身,是远远快于

>>> help('modules')


在 Windows 机器上,python 模块位于(系统驱动器和 python 版本可能有所不同) :

C:\Users\Administrator\AppData\Local\Programs\Python\Python38\Lib

如果你使用 pip:

pip show <package name>

pip show tensorflow的输出样本:

Name: tensorflow
Version: 2.1.1
Summary: TensorFlow is an open source machine learning framework for everyone.
Home-page: https://www.tensorflow.org/
Author: Google Inc.
Author-email: packages@tensorflow.org
License: Apache 2.0
Location: /home/user/.local/lib/python3.6/site-packages
Requires: termcolor, six, astor, numpy, grpcio, absl-py, protobuf, tensorflow-estimator, tensorboard, gast, keras-applications, opt-einsum, wheel, keras-preprocessing, google-pasta, scipy, wrapt
Required-by: tf-models-official

安装位置显示在 Location:/home/user/.local/lib/python3.6/site-packages

在 Linux 上,使用 grep 查找选定的模块,不需要额外的安装,很快就可以完成。

-r表示子目录中的递归搜索,l 表示只显示文件,而不显示目录。通常您可以看到即将出现的列表中的位置,并且可以使用 Ctrl-C 停止输出。

grep -rl module_name_or_part_of_name /

或者,借用 这个用户的价值评论:

pip list | grep module_name_or_part_of_name