[
https://issues.apache.org/jira/browse/FLINK-38984?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
]
Dian Fu reassigned FLINK-38984:
-------------------------------
Assignee: raoraoxiong
> Python interpreter not found when using thread mode (pemja)
> -----------------------------------------------------------
>
> Key: FLINK-38984
> URL: https://issues.apache.org/jira/browse/FLINK-38984
> Project: Flink
> Issue Type: Bug
> Components: API / Python
> Reporter: raoraoxiong
> Assignee: raoraoxiong
> Priority: Major
>
> When submitting a pyflink job using thread mode, it will throw exception like
> this:
>
> {code:java}
> 2026-01-27 19:11:23,441 INFO
> [org.apache.flink.python.env.AbstractPythonEnvironmentManager.constructArchivesDirectory(AbstractPythonEnvironmentManager.java:379)]
> [] - Python working dir of python worker:
> /tmp/python-dist-3212f104-38c0-48a4-ba71-55edf031afe1/python-archives
> 2026-01-27 19:11:29,889 INFO
> [org.apache.flink.python.env.AbstractPythonEnvironmentManager.constructEnvironmentVariables(AbstractPythonEnvironmentManager.java:201)]
> [] - Python interpreter path: empty-venv.tar.gz/venv/bin/python3
> 2026-01-27 19:11:29,891 INFO
> [org.apache.flink.streaming.api.functions.source.datagen.DataGeneratorSource.close(DataGeneratorSource.java:139)]
> [] - generated 0 rows
> 2026-01-27 19:11:29,891 WARN
> [org.apache.flink.runtime.taskmanager.Task.transitionState(Task.java:1122)]
> [] - Source: source[1] -> TableToDataSteam -> Map, Map, Map, Map,
> _stream_key_by_map_operator (1/1)#45
> (edf2dea956b9506fb770fee8bfa9c729_cbc357ccb763df2852fee8c4fc7d55f2_0_45)
> switched from INITIALIZING to FAILED with failure cause:
> java.lang.RuntimeException: Failed to find libpython
> at pemja.utils.CommonUtils.getPythonLibrary(CommonUtils.java:161)
> ~[flink-python-TDFLINK-129781835-01211111.jar:TDFLINK-129781835-01211111]
> at pemja.utils.CommonUtils.loadPython(CommonUtils.java:44)
> ~[flink-python-TDFLINK-129781835-01211111.jar:TDFLINK-129781835-01211111]
> at
> pemja.core.PythonInterpreter$MainInterpreter.initialize(PythonInterpreter.java:365)
> ~[flink-python-TDFLINK-129781835-01211111.jar:TDFLINK-129781835-01211111]
> at pemja.core.PythonInterpreter.initialize(PythonInterpreter.java:144)
> ~[flink-python-TDFLINK-129781835-01211111.jar:TDFLINK-129781835-01211111]
> at pemja.core.PythonInterpreter.<init>(PythonInterpreter.java:45)
> ~[flink-python-TDFLINK-129781835-01211111.jar:TDFLINK-129781835-01211111]
> at
> org.apache.flink.streaming.api.operators.python.embedded.AbstractEmbeddedPythonFunctionOperator.open(AbstractEmbeddedPythonFunctionOperator.java:72)
> ~[flink-python-TDFLINK-129781835-01211111.jar:TDFLINK-129781835-01211111]
> at
> org.apache.flink.streaming.api.operators.python.embedded.AbstractEmbeddedDataStreamPythonFunctionOperator.open(AbstractEmbeddedDataStreamPythonFunctionOperator.java:88)
> ~[flink-python-TDFLINK-129781835-01211111.jar:TDFLINK-129781835-01211111]
> at
> org.apache.flink.streaming.api.operators.python.embedded.AbstractOneInputEmbeddedPythonFunctionOperator.open(AbstractOneInputEmbeddedPythonFunctionOperator.java:68)
> ~[flink-python-TDFLINK-129781835-01211111.jar:TDFLINK-129781835-01211111]
> at
> org.apache.flink.streaming.api.operators.python.embedded.EmbeddedPythonProcessOperator.open(EmbeddedPythonProcessOperator.java:67)
> ~[flink-python-TDFLINK-129781835-01211111.jar:TDFLINK-129781835-01211111]
> at
> org.apache.flink.streaming.runtime.tasks.RegularOperatorChain.initializeStateAndOpenOperators(RegularOperatorChain.java:107)
> ~[flink-dist-TDFLINK-129781835-01211111.jar:TDFLINK-129781835-01211111]
> at
> org.apache.flink.streaming.runtime.tasks.StreamTask.restoreStateAndGates(StreamTask.java:858)
> ~[flink-dist-TDFLINK-129781835-01211111.jar:TDFLINK-129781835-01211111]
> at
> org.apache.flink.streaming.runtime.tasks.StreamTask.lambda$restoreInternal$5(StreamTask.java:812)
> ~[flink-dist-TDFLINK-129781835-01211111.jar:TDFLINK-129781835-01211111]
> at
> org.apache.flink.streaming.runtime.tasks.StreamTaskActionExecutor$SynchronizedStreamTaskActionExecutor.call(StreamTaskActionExecutor.java:100)
> ~[flink-dist-TDFLINK-129781835-01211111.jar:TDFLINK-129781835-01211111]
> at
> org.apache.flink.streaming.runtime.tasks.StreamTask.restoreInternal(StreamTask.java:812)
> ~[flink-dist-TDFLINK-129781835-01211111.jar:TDFLINK-129781835-01211111]
> at
> org.apache.flink.streaming.runtime.tasks.StreamTask.restore(StreamTask.java:771)
> ~[flink-dist-TDFLINK-129781835-01211111.jar:TDFLINK-129781835-01211111]
> at
> org.apache.flink.runtime.taskmanager.Task.runWithSystemExitMonitoring(Task.java:963)
> ~[flink-dist-TDFLINK-129781835-01211111.jar:TDFLINK-129781835-01211111]
> at org.apache.flink.runtime.taskmanager.Task.restoreAndInvoke(Task.java:932)
> ~[flink-dist-TDFLINK-129781835-01211111.jar:TDFLINK-129781835-01211111]
> at org.apache.flink.runtime.taskmanager.Task.doRun(Task.java:756)
> ~[flink-dist-TDFLINK-129781835-01211111.jar:TDFLINK-129781835-01211111]
> at org.apache.flink.runtime.taskmanager.Task.run(Task.java:568)
> ~[flink-dist-TDFLINK-129781835-01211111.jar:TDFLINK-129781835-01211111]
> at java.lang.Thread.run(Thread.java:829) ~[?:?]
> Caused by: java.io.IOException: Cannot run program
> "empty-venv.tar.gz/venv/bin/python3": error=2, No such file or directory
> at java.lang.ProcessBuilder.start(ProcessBuilder.java:1128) ~[?:?]
> at java.lang.ProcessBuilder.start(ProcessBuilder.java:1071) ~[?:?]
> at pemja.utils.CommonUtils.execute(CommonUtils.java:168)
> ~[flink-python-TDFLINK-129781835-01211111.jar:TDFLINK-129781835-01211111]
> at pemja.utils.CommonUtils.getPythonLibrary(CommonUtils.java:157)
> ~[flink-python-TDFLINK-129781835-01211111.jar:TDFLINK-129781835-01211111]
> ... 19 more
> Caused by: java.io.IOException: error=2, No such file or directory
> at java.lang.ProcessImpl.forkAndExec(Native Method) ~[?:?]
> at java.lang.ProcessImpl.<init>(ProcessImpl.java:340) ~[?:?]
> at java.lang.ProcessImpl.start(ProcessImpl.java:271) ~[?:?]
> at java.lang.ProcessBuilder.start(ProcessBuilder.java:1107) ~[?:?]
> at java.lang.ProcessBuilder.start(ProcessBuilder.java:1071) ~[?:?]
> at pemja.utils.CommonUtils.execute(CommonUtils.java:168)
> ~[flink-python-TDFLINK-129781835-01211111.jar:TDFLINK-129781835-01211111]
> at pemja.utils.CommonUtils.getPythonLibrary(CommonUtils.java:157)
> ~[flink-python-TDFLINK-129781835-01211111.jar:TDFLINK-129781835-01211111]
> ... 19 more {code}
>
> The root cause it that the working directory was not set before initializing
> pemja interpreter, so we should fix it up
>
--
This message was sent by Atlassian Jira
(v8.20.10#820010)