我现在已经使用DyNet软件包了一段时间。
今天我更新了最新版本(版本2.0,通过' pip install dynet')。
问题是PyCharm的代码完成仍然给我提供了与以前相同的建议,即使包api已经改变(删除了一些方法,添加了一些方法)。
例如,在以下代码之后:
import dynet
m = dynet.Model()
代码完成表明方法' load_all'并且' save_all'它不再存在(以前在我安装的版本中存在,它在我的系统上不再存在)。另一方面,该方法填充了#39; (之前没有存在并且被添加)在建议中根本没有出现(当我的鼠标悬停在它上面时,我得到一个弹出窗口说“未解析的属性参考'”)。
我试图找到一种方法来清除代码完成缓存或强制它更新,但我尝试的所有内容都失败了。有谁知道如何解决这个问题?
如果重要,我在PyCharms版本2017.2.1和2017.2.2上遇到了这个问题,我的解释器在Windows子系统Linux(WSL)上设置为python,PyCharm通过ssh连接到该子系统。 / p>
由于
答案 0 :(得分:1)
这可能是DyNet错误。他们说它是用C ++编写的Python绑定,似乎Python绑定可能没有正确更新(基于你所说的)
如果查看其git存储库中的文件dynet_viz.py,您可以看到它们声明class Model
的位置。我不理解Python / C ++交互,但我认为这是PyCharm获取其信息的地方。您可以看到方法save_all
,load_all
等,并且没有populate
方法。
如果您对此感到强烈,我建议您向DyNet提交错误报告。
注意:我今天之前从未安装过DyNet,我看到的行为和你一样。我也确认我确实有2.0版本
答案 1 :(得分:0)
远程解释器出现此问题。 this帮助了我。 (dal的第二个答案),