更新到2016.2后,Pycharm导入RuntimeWarning

时间:2016-07-25 14:08:50

标签: 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

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

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

5 个答案:

答案 0 :(得分:65)

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

答案 1 :(得分:36)

最新推荐(Dec. 19, 2016)是将此行放在单元测试脚本的顶部:

from __future__ import absolute_import

答案 2 :(得分:14)

在OS X上我通过替换

来解决这个问题
private class FullBook extends AsyncTask<String, String, String> {

        @Override
        protected void onPreExecute() {
            super.onPreExecute();
            pDialog = new ProgressDialog(Personal_Library_Click.this);
            pDialog.setMessage("Please wait...");
            pDialog.setCancelable(true);
            pDialog.show();
        }

        @Override
        protected String doInBackground(String... strings) {

            List<NameValuePair> params = new ArrayList<NameValuePair>();

            params.add(new BasicNameValuePair("user_id", userId));
            params.add(new BasicNameValuePair("book_id", BookIdpref));

            json = jParse.makeHttpRequest(url_getBook, "GET", params);

            try {

                JSONArray jsonary = json.getJSONArray("list");

                Log.e("This is the books response", " " + json);

                arrayVideos = new ArrayList<HashMap<String, String>>();
                for (int i = 0; i < jsonary.length(); i++) {

                    hashVideos = new HashMap<String, String>();


                    JSONObject local_obj = (JSONObject) jsonary.get(i);

                    if (local_obj.toString().contains("image")) {
                        Image = local_obj.getString("image");
                        hashVideos.put("image", Image);
                    }

                    if (local_obj.toString().contains("image_id")) {
                        ImId = local_obj.getString("image_id");
                        hashVideos.put("imageId", ImId);

                    }

                    Log.e("Image ID : ", " " + ImId);

                    arrayVideos.add(hashVideos);

                }

            } catch (JSONException e) {
                // TODO Auto-generated catch block
                e.printStackTrace();
            }

            return null;
        }

        @Override
        protected void onPostExecute(String s) {
            super.onPostExecute(s);
            pDialog.dismiss();

            flipView.setAdapter(new FlipAdapter(Personal_Library_Click.this, arrayVideos));

        }
    }

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

答案 3 :(得分:2)

On Ubuntu 16.04 Bobby的解决方案也有效:

只需替换

中的本地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

答案 4 :(得分:0)

在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