更新到2016.2后,Pycharm导入了RuntimeWarning

在更新到新版本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 

“testing”是我的主要应用程序包内的一个包,当我尝试在此文件夹内执行unit testing时收到这些警告。 这个问题只是在更新到2016.2之后才出现的。 除了警告,其余的代码工作正常。

编辑:这是一个已知的问题 – https://youtrack.jetbrains.com/issue/PY-20171 。 他们build议在PyCharm安装文件夹中replaceutrunner.py。

这是2016.2版本中引入的已知问题。 在JetBrains网站上可以查看进展情况。 根据这个页面,它将在2017.1版本中得到修复。 您可以按照其他人在此期间提到的utrunner.py解决方法 – 将此文件的副本附加到链接的故障单。

最新的build议(2016年12月19日)将这行放在unit testing脚本的顶部:

 from __future__ import absolute_import 

在OS X上,我通过replace解决了这个问题

 Applications/PyCharm.app/Contents/helpers/pycharm/utrunner.py 

与旧版本,可以在http://code.metager.de/source/xref/jetbrains/intellij/community/python/helpers/pycharm/utrunner.py

Ubuntu 16.04上 Bobby的解决scheme也可以工作:

只需replace你的本地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

在Windows 10上Bobby的解决scheme也可以工作:

只需replace你的本地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