[ 
https://issues.apache.org/jira/browse/FLINK-38984?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=18054601#comment-18054601
 ] 

Dian Fu commented on FLINK-38984:
---------------------------------

[~xiongraorao] Thanks for reporting and taking care of this issue. Have 
assigned it to you~

> 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)

Reply via email to