raoraoxiong created FLINK-38984:
-----------------------------------
Summary: 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
When submitting a pyflink job using thread mode, it will throw exception like
this:
``` 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
```
the root cause
--
This message was sent by Atlassian Jira
(v8.20.10#820010)