2016-07-25 9 views
65

にアップデートした後に新しいバージョン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を置き換えることを提案しています。

+2

うん。私は2016.2に切り替わった後も同じ動作をします。 –

+0

いいえ、私はJetBrainsへのチケットを開きます。 –

+0

今のところ、古いutrunner.pyを2016.2にコピーしました〜/ pycharm-2016.1/helpers/pycharm/utrunner.py –

答えて

65

で発見することができます古いバージョンで

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

を交換することによって、これを修正しました。この2016.2のリリースで導入された既知の問題です。進歩はJetBrainsのウェブサイトhereで追跡できます。このページによれば、2017.1のリリースで修正される予定です。その間に他の人が触れたutrunner.pyの回避策に従うことができます。このファイルのコピーは、リンクされたチケットに添付されています。ボビーのソリューションはまた、作品 Ubuntuの16.04

+7

古いファイル(/アプリケーション/ PyCharm.app/Contents/helpers/pycharm/utrunner。py)をダウンロードして[youtrack.jetbrains.com](https://youtrack.jetbrains.com/issue/PY-20171)からダウンロードしてください([download link](https://youtrack.jetbrains.com/_persistent/) utrunner.py?file=74-332199&c=true))。完璧に私のために動作します。 –

+0

最近更新された2016.2.2という名前の、まだ問題を修正していない* – guyarad

+18

これはまだpycharm-2016.2.3で修正されていません –

0

ただ、JetBrainsのウェブサイトからのいずれかによって

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

であなたの地元のutrunner.pyファイルを置き換えますも動作します:

あなたの地元のutrunner JetBrainsのウェブサイトからの1と

C:\Program Files (x86)\JetBrains\PyCharm 2016.3\helpers\pycharm 

での.pyファイル:http://code.metager.de/source/xref/jetbrains/intellij/community/python/helpers/pycharm/utrunner.py

35

最新の勧告(Dec. 19, 2016)は、あなたのユニットテストスクリプトの先頭に次の行を置くことです:

from __future__ import absolute_import 
+0

それは私の問題を解決しますが、これは公式の推奨ではないと思います。これはJetBrainsの開発者ではないと言われています。この警告は、絶対インポートのみを行っても表示されるので、その行を次回のリリース後に削除する必要のある不要なコードには追加しないでください。 – steinar

+0

これはおそらく将来、ある時点で削除する必要があります。詳細については、http://stackoverflow.com/q/7075082/584846 –

+0

を参照してください。この特定の '__future__'インポートはPyCharmのバグを修正するためだけにあるので、この場合は本当に不要です。少なくとも私の場合は、ソースコードに修正は必要ありません。だから、受け入れられた答えのアドバイスに従う方が良いと思われます。それ以来、ソースコードにはまったく触れる必要はありません。 – steinar

関連する問題