Без имени 'ObjectProperty' в модуле 'kivy.properties' - Python Kivy - PullRequest
2 голосов
/ 07 января 2020

Когда я пытаюсь импортировать ObjectProperties из kivy.properties, я получаю сообщение об ошибке: «Нет имени« ObjectProperty »в модуле« kivy.properties'pylint (без имени в модуле) »*

from kivy.app import App
from kivy.uix.button import Button
from kivy.uix.boxlayout import BoxLayout                                               
from kivy.uix.gridlayout import GridLayout
from kivy.uix.textinput import TextInput
from kivy.uix.label import Label
from kivy.config import Config
from kivy.event import EventDispatcher
from kivy.properties import ObjectProperty

Config.set('graphics', 'width', 1000)
Config.set('graphics', 'height', 1000)
Config.set('graphics', 'resizable', False)

class GridContainer(GridLayout):
text_input1 = ObjectProperty()
    label1 = ObjectProperty()

    def count_sum(self):
        self.label1.text = int(self.text_input1.text[0]) + int(self.text_input1.text[1])

class MyApp(App):
    def build(self):
        GridContainer()
        return GridContainer()

Есть ли способы решить эту проблему?

Ответы [ 3 ]

1 голос
/ 03 мая 2020

Я оказался в той же ситуации просто потому, что думал, что python принимает только библиотеки, написанные в python. Python коды / библиотеки могут быть запущены быстрее, скомпилировав их в смесь C and Python кодов, как наблюдалось в библиотеке свойств , расположенной в каталоге kivy из site-packages вашей python установочной папки . Используя этот метод, скомпилированные python коды могут быть импортированы без каких-либо проблем, так же как и перед компиляцией.

Сам я не видел никаких расширений, которые связывают коды Cython, и все они созданы для работы с разработанными библиотеками. с python не Cython. Таким образом, у них, как правило, возникают проблемы с связыванием тех, которые были написаны / скомпилированы в cython.

Поскольку inclement четко указано, это не проблема, о которой вам следует беспокоиться, если программа работает нормально. Это проблема с расширениями linting IDE, они не могут кодировать lint cython. Вы можете go с помощью Jayden решения, если вы не хотите постоянно видеть волнистые красные линии.

Надеюсь, это прояснит ситуацию ..?

0 голосов
/ 13 февраля 2020

Я нашел обходной путь:

  1. заменить kivy.properties import ObjectProperty на import kivy.properties as kyprops
  2. type kyprops в любое время, когда вам нужно объявить ObjectProperty

Дайте мне знать, если это поможет!

0 голосов
/ 07 января 2020

Если код работает нормально, это просто ошибка в вашей линтере. Как уже связано с другими, он, вероятно, не способен правильно понять импорт из библиотек, созданных на Cython.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...