Импорт Runtime PycharmWarning после обновления до 2016.2
После обновления до новой версии 2016.2 я получаю
RuntimeWarning: Parent module 'tests' not found while handling absolute import
import unittest
RuntimeWarning: Parent module 'tests' not found while handling absolute import
import datetime as dt
'tests' - это пакет внутри моего основного пакета приложения, и я получаю эти предупреждения, когда пытаюсь выполнить модульные тесты внутри этой папки. Эта проблема возникла только после обновления до 2016.2. Помимо предупреждений, оставшийся код работает нормально.
Изменить: это известная проблема - https://youtrack.jetbrains.com/issue/PY-20171. Они предлагают заменить utrunner.py в папке установки PyCharm.
Ответы
Ответ 1
Это известная проблема, связанная с выпуском 2016.2. Прогресс может быть выполнен на веб-сайте JetBrains здесь. Согласно этой странице она должна быть исправлена в выпуске 2017.1. Вы можете следовать обходному решению utrunner.py, которое другие упомянули в то же время - копия этого файла прикреплена к связанному билету.
Ответ 2
Последняя рекомендация (19 декабря 2016 г.) заключается в том, чтобы поставить эту строку вверху вашего unit test script:
from __future__ import absolute_import
Ответ 3
В OS X я исправил это, заменив
Applications/PyCharm.app/Contents/helpers/pycharm/utrunner.py
с более старой версией, которая может быть найдена в http://code.metager.de/source/xref/jetbrains/intellij/community/python/helpers/pycharm/utrunner.py
Ответ 4
В Ubuntu 16.04 Бобби также работает:
Просто замените локальный файл utrunner.py
на
/usr/local/pycharm-edu-3.0/helpers/pycharm/utrunner.py
на веб-сайте Jetbrains: http://code.metager.de/source/xref/jetbrains/intellij/community/python/helpers/pycharm/utrunner.py
Ответ 5
В Windows 10 также работает решение Bobby:
Просто замените локальный файл utrunner.py на
C:\Program Files (x86)\JetBrains\PyCharm 2016.3\helpers\pycharm
с сайтом с сайта Jetbrains: http://code.metager.de/source/xref/jetbrains/intellij/community/python/helpers/pycharm/utrunner.py