python模块存储在哪里?


77

我最近开始学习Python,并且有2个与模块有关的问题。

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

Answers:


94

1)有没有办法获取机器上可用(即已安装)的Python模块列表?

这对我有用:

help('modules')

2)模块代码实际存储在我的计算机上的什么位置?

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

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


37
如果您想要特定模块的位置,请import查看它的__file__属性。适用于大多数人。
努法尔·易卜拉欣

2
@NoufalIbrahim您的答案值得像答案本身一样。TY。您可以附加它以使其对用户大胆。
BehradKhodayar '17

58

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

import module_name

然后输入:

print(module_name.__file__)

例如,找出“ pygal”的位置:

import pygal
print(pygal.__file__)

输出:

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

尝试此操作时,出现以下错误:Unable to initialize device PRN,为什么?谢谢。
Azurespot

7

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

help("modules")

这会列出Python可以导入的模块列表。此列表的底部是一个短语:

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

查找模块位置:

help("module_Name")

例如:

help("signal")

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

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

复制链接。要查看代码,请退出Python REPL后:

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

6

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

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

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

1

如果您正在使用condapip要安装模块,则可以使用

pip list

要么

conda list

显示所有模块。这将显示终端本身中的所有模块,并且比

>>> help('modules')


0

1)使用帮助功能

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

>>>help("modules")

这将列出系统中安装的所有模块。您无需安装任何其他软件包即可列出它们,但需要从列表中手动搜索或过滤所需的模块。

2)使用点冻结

sudo apt-get install python-pip
pip freeze

即使您需要安装其他软件包才能使用此方法,该方法也允许您使用grep命令轻松搜索或过滤结果。例如pip freeze | grep feed

您可以使用任何一种方便的方法。

By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.