2016-03-25 1 views
19

Возможно ли получить импорт для шести модулей для работы в pycharm? Я понимаю, что модуль делает некоторые игры с импортом, который смущает pycharm, но надеялся, что существует некоторый тип обходного пути.Получение модулей six и six.moves для автозаполнения в pycharm

Например, я хотел бы следующее, чтобы правильно работать в PyCharm или IntelliJ ::

from six.moves import BaseHTTPServer 

ответ

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 и изменять файлы там (хотя я никогда не был на самом деле в состоянии получить его, чтобы обнаружить мои изменения)

Смежные вопросы