是否可以让六个模块的导入在pycharm中工作?我意识到该模块会使用导入混淆pycharm但仍希望存在某种类型的解决方法。
例如,我希望以下内容在pycharm或intellij ::
中正常工作from six.moves import BaseHTTPServer
答案 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
并修改那里的文件(虽然我实际上从来没有能够检测到我的更改)