Hi, I'm trying to evaluate the Python API but get a java.io.FileNotFoundException when trying to run any Python script on pyflink. The contents of the Python script are irrelevant, doesn't even need to be valid Python. I made a local install of 0.9.1, copy-pasted the example Python script from https://ci.apache.org/projects/flink/flink-docs-release-0.9/apis/python.html to a file "~/python_src/wordcount.py" and tried to run it in Flink root directory (/home/flink/flink-0.9.1/):
./bin/pyflink2.sh ~/python_src/wordcount.py I get a java.io.FileNotFoundException (trace below). The cause could be related to PythonPlanBinder line 93, which strips 7 characters from FLINK_DIR and after that appends /resources/python to the result, ending in an invalid path. If I understand correctly, for my user "flink" the path should be /home/flink/flink-0.9.1/resources/python Am I missing some setup option, using pyflink wrong, or could this be a bug? I also tried compiling from 0.10-SNAPSHOT but the problem persists. I'm running Ubuntu 14.04 with openjdk 8 and Python 2.7.6. Exception trace: org.apache.flink.client.program.ProgramInvocationException: The main method caused an error. at org.apache.flink.client.program.PackagedProgram.callMainMethod(PackagedProgram.java:452) at org.apache.flink.client.program.PackagedProgram.invokeInteractiveModeForExecution(PackagedProgram.java:353) at org.apache.flink.client.program.Client.run(Client.java:315) at org.apache.flink.client.CliFrontend.executeProgram(CliFrontend.java:582) at org.apache.flink.client.CliFrontend.run(CliFrontend.java:288) at org.apache.flink.client.CliFrontend.parseParameters(CliFrontend.java:878) at org.apache.flink.client.CliFrontend.main(CliFrontend.java:920) Caused by: java.io.FileNotFoundException: File /home/flink/flin/resources/python does not exist or the user running Flink ('flink') has insufficient permissions to access it. at org.apache.flink.core.fs.local.LocalFileSystem.getFileStatus(LocalFileSystem.java:107) at org.apache.flink.runtime.filecache.FileCache.copy(FileCache.java:242) at org.apache.flink.languagebinding.api.java.python.PythonPlanBinder.prepareFiles(PythonPlanBinder.java:138) at org.apache.flink.languagebinding.api.java.python.PythonPlanBinder.runPlan(PythonPlanBinder.java:108) at org.apache.flink.languagebinding.api.java.python.PythonPlanBinder.main(PythonPlanBinder.java:84) at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62) at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) at java.lang.reflect.Method.invoke(Method.java:497) at org.apache.flink.client.program.PackagedProgram.callMainMethod(PackagedProgram.java:437) ... 6 more - Jussi