2016-11-19 4 views
3

Я унаследовал большую кодовую базу Java/Scala, которая использует Jython для взаимодействия с нашей одинаково большой кодовой базой Python. Дела шли гладко до примерно три дня назад, когда вдруг все наши сборки начали неудачу на этапе Jython с сообщением:Является ли Jython ответственностью в моей кодовой базе?

RuntimeException: java.lang.RuntimeException: Метод код слишком велик!

Как выяснилось, существует внутренний предел в 65 кбайт для размера метода внутри JVM. Последняя версия Python-запросов, похоже, является виновником, что является важной зависимостью нашей кодовой базы Python. Я предполагаю, что последняя версия представила действительно большой класс.

Наиболее очевидным решением является привязка версии библиотеки запросов к более ранней версии. Должен ли я приписывать все версии библиотеки нашего кода на Python (как это было бы на Java)? Есть ли какая-нибудь работа вокруг, кроме версии? Я делаю слишком много риска?

ответ

5

Я только что начал использовать библиотеку запросов сегодня и столкнулся с этим. Отследил его до библиотеки Idna и, в частности, файла uts46data.py со структурой данных, превышающей допустимый класс класса 64 КБ (человек - это глупая вещь).

Клонированное основное репо и исправлено на https://github.com/METAVERO/idna Левая нота на запросах и гитлеров индна. Вы можете просмотреть мои изменения и включить их в новую загрузку запросов.

+0

Большое спасибо! Я клонировал ваш филиал, а затем установил установку jython setup.py, а затем запросил библиотечные сборки. Для тех, кому это нужно, вот код для клонирования ветки: git clone -b johnabooth-jython27-fix https://github.com/METAVERO/idna.git – Kota

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

  • Нет связанных вопросов^_^