web-dev-qa-db-ja.com

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

「テスト」はメインアプリパッケージ内のパッケージであり、このフォルダー内で単体テストを実行しようとするとこれらの警告が表示されます。この問題は、2016.2に更新した後にのみ発生しました。警告に加えて、残りのコードは正常に機能します。

編集:これは既知の問題です- https://youtrack.jetbrains.com/issue/PY-20171 。彼らはPyCharmインストールフォルダーのutrunner.pyを置き換えることを提案しています。

66
Allen Lin

これは、2016.2リリースで導入された既知の問題です。進捗状況は、JetBrains Webサイトで確認できます こちら 。このページによると、2017.1リリースで修正される予定です。その間に他の人が言及したutrunner.pyの回避策に従うことができます-このファイルのコピーはリンクされたチケットに添付されます。

65
Bobby

最新の推奨事項 (Dec。19、2016) は、この行をユニットテストスクリプトの先頭に配置することです。

from __future__ import absolute_import
36
Brent Washburne

OS Xでは、これを修正して修正しました

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

http://code.metager.de/source/xref/jetbrains/intellij/community/python/helpers/pycharm/utrunner.py にある古いバージョンで

14
mircealungu

オンUbuntu 16.04ボビーのソリューションも動作します:

ローカルutrunner.pyファイル

/usr/local/pycharm-edu-3.0/helpers/pycharm/utrunner.py

jetbrains Webサイトからのもの: http://code.metager.de/source/xref/jetbrains/intellij/community/python/helpers/pycharm/utrunner.py

2
petibonum

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

0
nidkil