获取六个和六个移动模块以在pycharm中自动完成

时间:2016-03-25 04:26:07

标签: python intellij-idea ide pycharm six

是否可以让六个模块的导入在pycharm中工作?我意识到该模块会使用导入混淆pycharm但仍希望存在某种类型的解决方法。

例如,我希望以下内容在pycharm或intellij ::

中正常工作
from six.moves import BaseHTTPServer

1 个答案:

答案 0 :(得分:3)

导入是动态的,因此pycharm无法对代码进行任何静态分析以确定类型信息。

Pycharm通过使用静态类型定义文件(设置 - >语言和框架 - > Javascript - >库)来解决javascript等语言问题。

这是python的等价物:  https://www.jetbrains.com/help/pycharm/2016.2/using-python-skeletons.html - 一组并行的python文件,带有静态导出,允许进行静态分析。

目前,骨架定义似乎确实是一个概念证明,因为它们非常稀疏(没有six,而django模块存在它几乎是空的 - 没有你可以复制的django.utils.six.moves。您可以手动添加所有six.moves导出,但这将是一项非常重要的工作。

如果您确实想尝试修改骨架文件,请在OSX上:

cd ~/Library/Preferences/PyCharm2016.2 git clone https://github.com/JetBrains/python-skeletons.git 并修改那里的文件(虽然我实际上从来没有能够检测到我的更改)