是否可以导入六个模块以在PyCharm中工作?我意识到该模块对导入进行了一些处理,这让PyCharm感到困惑,但我希望有某种解决方法。
例如,我希望以下内容能在PyCharm或IntelliJ::中正常工作
from six.moves import BaseHTTPServer
导入是动态的,因此pycharm不能对代码进行任何静态分析来确定类型信息。
Pycharm通过使用静态类型定义文件(Settings->languages&Frameworks->javascript->Libraries)为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
并修改其中的文件(尽管我实际上从未能够让它检测到我的更改)