Getting six and six.moves modules to autocomplete in pycharm

丶灬走出姿态 提交于 2019-11-30 04:44:12

The imports are dynamic so pycharm can't do any static analysis of the code to determine the type information.

Pycharm gets around this for languages like javascript by using static type definition files (Settings -> Languages & Frameworks -> Javascript -> Libraries).

This is the python equivalent: https://www.jetbrains.com/help/pycharm/2016.2/using-python-skeletons.html - a parallel set of python files with static exports allowing static analysis.

At the present time the skeleton definitions seem to really be a proof of concept as they are very sparse (there is no six, and while a django module exists it is almost empty -- there is no django.utils.six.moves that you could just copy over). You could manually add all the six.moves exports but this would be a non-trivial effort.

If you did want to try modifying the skeleton files, on OSX:

cd ~/Library/Preferences/PyCharm2016.2 git clone https://github.com/JetBrains/python-skeletons.git and modify files in there (although I was never actually able to get it to detect my changes)

易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!