gpt4 book ai didi

python - PyCharm 3.1 在索引期间永远挂起并且无法使用

转载 作者:太空狗 更新时间:2023-10-29 18:04:41 28 4
gpt4 key购买 nike

更新到 3.1 后,PyCharm 在包的“索引”期间永远挂起(在 OSX 10.9.1、Python 2.7.5 上)。

对我来说,这发生在索引 scipy (0.13.3) 时。如果我卸载 scipy,索引似乎已完成,但随后再次挂起在“pythonstubs”上。 UI 变得无响应,CPU 使用率达到最大值,我无能为力,不得不强制退出应用程序。

如果我重新安装 scipy,PyCharm 会再次挂起在 scipy 扫描的同一位置(参见对话框的屏幕截图):

enter image description here

FWIW,我可以从系统命令行运行 Python 脚本(包括一些使用 scipy 和许多其他最近更新或安装的包)没有问题,所以 Python 安装是正确的。

有没有人遇到过类似的问题或找到解决方法?

最佳答案

问题在于可能已定义为标识 TODO 项的任何正则表达式匹配。 PyCharm 用于匹配这些项目的 Java 标准正则表达式库使用指数复杂度的算法来搜索 '*.a' 和类似的模式。

Theoretically, it is possible to match any regexp very fast (a linear algorithm exists), > but many developers of regexp libs simply don't bother implementing it.

Python re 模块也存在同样的问题:

>>> from timeit import timeit
>>> timeit("import re; list(re.finditer('.*a', 'foo' * 10000))", number=1)
0.6927990913391113
>>> timeit("import re; list(re.finditer('.*a', 'foo' * 50000))", number=1)
17.076900005340576

一般来说,如果索引需要很长时间或挂起,请查看 TODO 项中的正则表达式,看看是否可以缩小匹配范围以提高性能。

关于python - PyCharm 3.1 在索引期间永远挂起并且无法使用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21583364/

28 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com