PyCharm не распознает объекты из пакета Pyomo

Я уже некоторое время использую PyCharm и Pyomo вместе, и по какой-то причине PyCharm не распознает ни один из типов, импортированных из pyomo.environ. Довольно неприятно, что в моем коде так много красных линий, которые отлично работают.

В качестве простого примера из только что созданного мной проекта, в котором есть только этот файл,

from pyomo.environ import *

location_list = ['a', 'b', 'c']
distance_dict = {('a', 'b'): 1000,
                 ('a', 'c'): 1500,
                 ('b', 'c'): 2000,
                 ('a', 'c'): 1000,
                 ('c', 'a'): 1500,
                 ('c', 'b'): 2000,
                 ('a', 'a'): 0,
                 ('b', 'b'): 0,
                 ('c', 'c'): 0}

m = ConcreteModel()

m.locations = Set(initialize=location_list)
m.dist = Param(m.locations, m.locations, initialize=distance_dict)
m.x = Var(m.locations, m.locations, within=Binary)

Это вызывает предупреждения о неразрешенных ссылках для ConcreteModel, Set, Param, Var и Binary в дополнение к «Неиспользованному оператору импорта» в первой строке. Я создал виртуальную среду для этого проекта, в которой это единственный файл, установил Pyomo и установил его в качестве интерпретатора текущего проекта. Как предлагалось в других сообщениях, я закрыл и снова открыл PyCharm. Тем не менее, я получаю эти «ошибки» и, конечно же, код работает без проблем.

Есть ли способ исправить это? Я хотел бы использовать PyCharm, но множество ложных предупреждений меня так раздражают, что я не могу с этим справиться.


person Dan McCabe    schedule 16.12.2017    source источник


Ответы (1)


В средах возникают проблемы с импортом звезд *. Если вы явно импортируете элементы, которые вам нужны, у вас не будет этой проблемы, например from pyomo.environ import (Constraint, ConcreteModel).

person Qi Chen    schedule 17.12.2017