2017-04-01 123 views

回答

1

编辑#1:

我发现这个问题:https://youtrack.jetbrains.com/issue/PY-18597并且有一个答案:

PyCharm 2017.1 EAP建立现在总是喜欢存根文件在Python路径上找到Python文件。

意思就是说Pycharm将寻找是否存在这样的文件是什么在.pyi文件存在,它会使用此作为参考。所以你没有别的选择,只能在.pyi文件中声明所有的函数。

您可以找到如何避免here

编辑#2潜在恼人的警告和错误的一些知识:

是的,我可以证实,由于预期PyCharm以及可能from ... import *不起作用成为一个可以开放问题的错误(或者如果某人成功完成了这项工作,请告诉我们该怎么做)!

我找到了一个解决办法在此基础上报价:

模块和导入存根变量不考虑从存根出口,除非进口采用进口... ...作为形式或等价从...进口...作为...形式。

如果您:from file_a import a as a, b as b ...然后一切变得无人盯防的预期,但在from file_a ...会给你以下警告:

Import resolves to its containing file... (Ctrl+F1) 
This inspection detects names that should resolve but don't. Due to dynamic dispatch and duck typing, this is possible in a limited but useful number of cases. Top-level and class-level items are supported better than instance items. 

不要惊慌,因为解释here这是一个关于可能的阴影警告的模块名称由您的文件名(这不适用于您的情况!)

+0

感谢您的答案。但我创建.pyi文件以提高完成度。在这种情况下,情况只会变得更糟。 – ADR

+0

我根据新的发现编辑了我的答案,看看:) –

+0

我读过它。但是还没有找到问题的答案......我尝试在.pyi文件中写入'from file_a import *'。但它没有奏效。这是错误还是功能? – ADR

相关问题