Intellij:运行python脚本错误-致命的Python错误:Py_Initialize:无法加载文件系统编解码器

时间:2018-07-03 14:48:12

标签: python-3.x intellij-idea

这是用于Windows Intellij。

  1. 我在MVN pom文件中添加了插件org.codehaus.mojo,用于设置PYTHONPATH environmentVariables。
  2. 已安装的Python插件。
  3. 将python解释器添加到项目中。

当我用下面两行运行一个简单的python程序时,它会出错:

# !/usr/bin/python
print("testing") 

错误:

C:\Users\name\AppData\Local\Programs\Python\Python36\python.exe C:/Users/name/IdeaProjects/projectName/src/main/resources/pythonlib/test.py
Fatal Python error: Py_Initialize: unable to load the file system codec
Traceback (most recent call last):
  File "<frozen importlib._bootstrap_external>", line 1096, in _path_importer_cache
KeyError: 'C:\\Users\\name\\.m2\\repository\\info\\cukes\\cucumber-java\\1.2.2\\cucumber-java-1.2.2.jar'

我已经设置了环境变量PYTHONHOME,PYTHONPATH并添加了路径。

这是一个maven项目,并在src / main / resources / pythonlib下创建了python文件。

请帮忙。

1 个答案:

答案 0 :(得分:0)

请尝试以下插件配置:

    private void getAppData(){
        //Creating a string request
        StringRequest stringRequest = new StringRequest(URLAddress.SHOW_ALL_APK,
            new Response.Listener<String>() {
                @Override
                public void onResponse(String response) {
                    JSONObject j = null;
                    try {
                        JSONObject json = new JSONObject(response);
                        JSONArray jsonArr = json.getJSONArray("files");
                        for (int i = 0; i < jsonArr.length(); i++) {
                            j = jsonArr.getJSONObject(i);
                            appList.add( j.toString() );
                        }
                    } catch (JSONException e) {
                        e.printStackTrace();
                    }
                }
            },
            new Response.ErrorListener() {
                @Override
                public void onErrorResponse(VolleyError error) {
                }
            });
        //Creating a request queue
        RequestQueue requestQueue = Volley.newRequestQueue(this);

        //Adding request to the queue
        requestQueue.add(stringRequest);
    }