更新到2016.2后,Pycharm导入RuntimeWarning

All*_*Lin 66 python import pycharm

更新到新版本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
Run Code Online (Sandbox Code Playgroud)

'tests'是我的主应用程序包中的一个包,当我尝试在此文件夹中执行单元测试时,我收到这些警告.此问题仅在更新至2016.2后出现.除了警告,剩下的代码工作正常.

编辑:这是一个已知问题 - https://youtrack.jetbrains.com/issue/PY-20171.他们建议在PyCharm安装文件夹中替换utrunner.py.

Bob*_*bby 65

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

  • 这在pycharm-2016.2.3中仍未修复 (18认同)
  • 这似乎没有在2016年3修复,同样的警告发生. (9认同)
  • 将旧文件(/Applications/PyCharm.app/Contents/helpers/pycharm/utrunner.py)替换为[youtrack.jetbrains.com]下载的文件(https://youtrack.jetbrains.com/issue/PY- 20171)([下载链接](https://youtrack.jetbrains.com/_persistent/utrunner.py?file=74-332199&c=true)).适合我. (7认同)
  • 2016.3.2未修复 (4认同)
  • 2016.3.1似乎没有修复 (3认同)

Bre*_*rne 36

最新推荐(2016年12月19日)是将此行放在单元测试脚本的顶部:

from __future__ import absolute_import
Run Code Online (Sandbox Code Playgroud)


mir*_*ngu 14

在OS X上我通过替换修复了这个问题

Applications/PyCharm.app/Contents/helpers/pycharm/utrunner.py 
Run Code Online (Sandbox Code Playgroud)

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