SystemError: возврат ошибки без исключения, при использовании запросов и отладчика

Окружающая среда: Python 3.6.3 Запросы 2.18.4 PyCharm 2018.1

При использовании вышеуказанной конфигурации в обычном режиме все в порядке. Однако при использовании отладчика PyCharm мой вывод постоянно дает мне два вида исключений:

Exception ignored in: <generator object urlsplit.<locals>.<genexpr> at 0x7f69803940a0>
Traceback (most recent call last):
  File "/usr/lib/python3.6/urllib/parse.py", line 433, in <genexpr>
    if not rest or any(c not in '0123456789' for c in rest):

или же

SystemError: error return without exception set
Exception ignored in: <generator object iter_slices at 0x7f69803940f8>
Traceback (most recent call last):
  File "/home/damian/workspace/DofusV2/venv/lib/python3.6/site-packages/requests/utils.py", line 449, in iter_slices
    def iter_slices(string, slice_length):
'

Это не проблема в одном проекте, я неоднократно сталкивался с этой проблемой в многочисленных проектах. Тем не менее, каждый проект был многопоточным (я не знаю, если это имеет значение). Дело в том, что у меня нет этой проблемы, когда вы не используете отладчик, и на самом деле он не делает ничего, что приложение стабильно и отлично работает. Мой вопрос, почему это происходит, и могу ли я, по крайней мере, подавить его, чтобы он не загрязнял мой журнал?

Ответы

Ответ 1

У меня была похожая проблема при использовании моделей Gensim Word2vec, также использующих отладчик в Python 3.6/PyCharm 2018.2. В качестве быстрого решения я нашел решение, установив переменную среды:

PYDEVD_USE_FRAME_EVAL=NO

Это может быть легко сделано в PyCharm путем настройки переменных среды в конфигурации запуска PyCharm. После установки этой переменной я мог бы снова использовать отладчик. Более подробную информацию можно найти здесь и здесь.

Ответ 2

На всякий случай, если это помогает другим гуглерам, в Pycharm 2019 я обнаружил, что вызвал эту ошибку, используя строку в моих urlpatterns:

# including this line caused the error (I wanted to catch the 'my_special_model' type and use the general one below for other models.  
    path('display/my_special_model/<int:item_id>/', views.display_model, name='display_model'),

# This works fine ... 
    path('display/<item_type>/<int:item_id>/', views.display, name='display'),