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

 手机用户2602921555 发布于 2023-01-29 10:53

在更新到3.1之后,PyCharm在包的"索引"期间永远挂起(在OSX 10.9.1,Python 2.7.5上).

对我来说,这是在索引时发生的scipy(0.13.3).如果我unistall scipy,索引似乎完成,但然后再次挂起"pythonstubs".用户界面变得反应迟钝,CPU使用率最高,我无法做任何事情,不得不强制退出应用程序.

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

在此输入图像描述

FWIW,我可以从系统命令行运行Python脚本(包括一些使用scipy和最近更新或安装的许多其他软件包)没有问题,因此Python安装是合理的.

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

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

    从理论上讲,可以非常快速地匹配任何正则表达式(存在线性算法),但是许多regexp库的开发人员根本不打算实现它.

    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项目中的RegEx,看看是否可以缩小匹配范围以提高性能.

    2023-01-29 10:56 回答
撰写答案
今天,你开发时遇到什么问题呢?
立即提问
热门标签
PHP1.CN | 中国最专业的PHP中文社区 | PNG素材下载 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有