gradle compile не имеет lib.jar

Означает ли это, если вы определили класс python с cdef all self. * атрибуты должны быть определены cdef?

blockquote>

Да. Это явно указано в документации :

Атрибуты в классах cdef ведут себя иначе, чем атрибуты в обычных классах:

  • Все атрибуты должен быть предварительно объявлен во время компиляции
  • ...
blockquote>

Вы можете с радостью сохранить строку, указав атрибут типа объекта :

cdef public object msg

Внутренне причина в том, что в cdef class нет словаря, который экономит место и ускоряет доступ к атрибуту, но это означает, что он не может иметь произвольный атрибуты, добавленные во время выполнения. Это достаточно похоже на использование __slots__ в обычном классе Python.

1
задан Dolphin 25 March 2019 в 09:45
поделиться

1 ответ

Чтобы решить проблему, используйте эту команду для создания проекта (он сгенерирует папку libs и файл jar):

./gradlew -p web -x test -x jar build

Версия Gradle: 4.7. (Gradle 5.3 не работает)

0
ответ дан Dolphin 25 March 2019 в 09:45
поделиться
Другие вопросы по тегам:

Похожие вопросы: