是什么决定了PyCharms索引目录

时间:2014-04-28 14:34:48

标签: python python-3.x indexing pycharm

我查看了PyCharms FILE-SETTINGS-FILE STRUCTURE,我只能看到一个包含所有.py文件的小目录。然而,索引器似乎围绕文件系统的大部分跳舞,现在有时需要15分钟才能完成。

我首先想知道索引的目的是什么,其次我如何限制PyCharms索引列表。

1 个答案:

答案 0 :(得分:2)

索引会考虑PYTHONPATH中的所有目录。您可以了解这些内容的打印sys.path

>>> import sys
>>> sys.path
['', '/usr/lib/python2.7', '/usr/lib/python2.7/plat-x86_64-linux-gnu', '/usr/lib/python2.7/lib-tk', '/usr/lib/python2.7/lib-old', '/usr/lib/python2.7/lib-dynload', '/usr/local/lib/python2.7/dist-packages', '/usr/lib/python2.7/dist-packages', '/usr/lib/python2.7/dist-packages/PILcompat', '/usr/lib/python2.7/dist-packages/gtk-2.0', '/usr/lib/pymodules/python2.7', '/usr/lib/python2.7/dist-packages/ubuntu-sso-client']

正如您所看到的,默认情况下路径中有一些目录。这些取决于操作系统和python版本。

在此示例中,特别是系统范围的dist-packages(以前称为site-packages)目录(/usr/lib/python2.7/dist-packages)。这就是安装大多数软件包的地方。

PyCharm将查看这些目录,解析它找到的包/模块的所有内容,以获取有关其结构及其定义的所有内容的信息。这允许在编辑器中编写代码时实现自动完成,或者跳转到声明/使用某些东西。

您可以在 Python Interpreters 下的项目设置中找到这些目录的列表。在底部有一个选项卡式视图,其中包含 Paths 选项卡,其中列出了这些目录。

据我所知,不可能避免索引(至少在设置中搜索索引并不会从这个角度看出任何有用的东西)。但是,您可以为项目使用 fresh 虚拟环境,而不需要进行系统范围的扫描。 另外,使用包含 项目所需的依赖项的环境可以帮助您理解其结构,并避免错误地卸载所需的包。

Python Interpreters 页面的最底部,有一个创建新的VirtualEnv ,它允许您从PyCharm内部创建虚拟环境。


请注意,进行索引意味着PyCharm的所有与查找源相关的功能(例如自动完成,跳转到声明,显示用法等)都不适用于未编入索引的包/模块。