Behave + PyCharm

(отредактировал тему и первое сообщение)

Доброго времени суток,
Не получается подружить Behave + PyCharm

установил behave через pip.
но простейший example работать не хочет, ругается на
from behave import given, when, then
“Unresolved reference name”

через питоновскую консольку импортится все корректно

Спасибо

ммм… есть люди использующие behave с 3им питоном ? как его заставить работать

странно должно работать, сейчас у себя попробую и отпишусь

официальной поддержки нет, обсуждение по поводу, как это можно сделать можно посмотреть тут Python3 support for behave · Issue #119 · behave/behave · GitHub

Если посмотреть на подсказку, то видим, что PyCharm (а я поставил последнюю 3ю версию) еще все равно не все случаи может расспознать

Unresolved reference ‘given’ less… (Ctrl+F1) This inspection
detects names that should resolve but don’t. Due to dynamic dispatch
and duck typing, this is possible in a limited but useful number of
cases. Top-level and class-level items are supported better than
instance items.

Например, ему тяжело узнать что импортируется, потому что есть такой код в
C:\Program Files (x86)\Python27\Lib\site-packages\behave\__init__.py

names = 'given when then step'
names = names + ' ' + names.title()
names = names + ' step_matcher'
__all__ = names.split()

т.е. то что будет фактически импортироваться, вычисляется в момент загрузки модуля, потому PyCharm и не может распознать этот код.

Вот если изменить код на

__all__ = ['given', 'when', 'then', 'step', 'step_matcher']

то все будет нормально распознаваться

1 лайк

спасибо, так не подчеркивает

возможно, сможете помочь с этой темой ?:

Да смогу, даже уже отписался и выложил решение.