Execute knime from python

Hi,

When I execute a knime workflow from python, it opens a cmd propt like below until the execution is done.

  1. Is there any way to not open the prompt (suppress the window) while executing the workflow?

Another question related to this:
At the moment it is taking > 20 secs to finish the execution of workflow.
Workflow:
image

Input:
interesting_targets = {‘target_chembl_id’:[“CHEMBL214”,“CHEMBL219”,“CHEMBL1983”]}

  1. Is there any way to reduce this time?

Regards,
Nithin

Hi @nithinth7,

  1. The knimepy module employs Python’s subprocess module (from the Python standard library) to trigger KNIME workflows to run. The default behavior of subprocess.run(..., shell=True) results in the creation of the cmd window as you describe. While the original motivation was to have knimepy demonstrate it was launching KNIME via this separate window where an error log could also be observed, knimepy has for some time been capturing and making available any stdout/stderr, so maybe we do not really need/want this cmd window anymore? I can suggest a couple of options:
    A) “Open Source Collaborator Option” Open an issue at https://github.com/knime/knimepy requesting an enhancement to knimepy to use subprocess.Popen() instead of subprocess.run() with the option to use subprocess.SW_HIDE on Windows platforms. There could be constraints coming from KNIME that could still prevent this from working, but I am optimistic. If you offer to help test what gets implemented, that would be all the incentive I would need…
    B) “Rogue Hacker Option” If you mess with the setting of knime.executable_path enough (maybe start /b ... type Windows command stuff), I bet that could be made to work. If you break stuff in the process, well, I guess that is what also makes this option exciting.

  2. The ~20 secs of time to execute that short workflow largely comes down to the cost of the start and graceful shutdown of KNIME. When we launch the KNIME GUI and keep it running, we only incur startup/shutdown costs once for the entire session but when invoking workflows through knimepy, we incur a startup/shutdown cost on every call to execute(). Thankfully this cost is smaller because we are not loading the GUI each time but it’s still a real cost. I can offer a couple of suggestions for how to minimize this cost:
    A) Switch to a faster disk. On my system with NAND storage, this cost shrinks to closer to 1 sec. On my system with a spinning mechanical disk, it can be 20 secs or more depending upon what the disk is doing. Empirically speaking, disk appears to impact the startup cost far more than the choice of CPU.
    B) If you have access to a KNIME Server, knimepy can run “remote” workflows on the Server even though you’re providing inputs through Python locally (and get the outputs back locally as well). Invoking your same workflows on the Server can sidestep the startup/shutdown process entirely but there are other trade-offs like if you have a ton of input data, there’s going to be a cost to sending that data from your laptop to the Server.

I hope some of that helps,

Davin

3 Likes

Hi @potts,

Thank you for your reply. I ave opened an issue as you mentioned in the comment:https://github.com/knime/knimepy/issues/25. And of course I would be happy to help in the testing phase.

I have another problem now, with the same workflow and python script.
When I am passing a big input from a csv file (2 rows and 2000 columns) instead of a small input (2 rows and 10 columns) I am getting following error in the saved workflow:
“No such file or URL: C:\Users\z639760\AppData\Local\Temp\tmpoyy6_xco\input_3.json”

Code:

import pandas as pd
import knime

#knime workflow information
knime.executable_path = "D:/Documents/knime_4.1.2/knime.exe"
workspace = "D:/knime-workspace-4"
workflow = "Test/python_knime"

#input data to knime
interesting_targets = {'target_chembl_id':["CHEMBL1","CHEMBL21","CHEMBL12"]}
df = pd.read_csv("C:/Users/uname/Documents//Data/sample_data.csv", sep=",",  encoding = "ISO-8859-1") 


#knime workflow execution
with knime.Workflow(workflow_path=workflow,workspace_path=workspace) as wf:
    wf.data_table_inputs[0] = df
    wf.save_after_execution = True
    wf.execute()
    
#knime workflow output
print(wf.data_table_outputs)

Full error message in python:

ERROR:root:captured stdout: CompilerOracle: exclude javax/swing/text/GlyphView.getBreakSpot
Install location:
    file:/d:/Documents/knime_4.1.2/
Configuration file:
    file:/d:/Documents/knime_4.1.2/configuration/config.ini loaded
Configuration location:
    file:/d:/Documents/knime_4.1.2/configuration/
Framework located:
    file:/d:/Documents/knime_4.1.2/plugins/org.eclipse.osgi_3.12.100.v20180210-1608.jar
Loading extension: reference:file:javax.transaction_1.1.1.v201105210645.jar
        eclipse.properties not found
Loading extension: reference:file:org.eclipse.osgi.compatibility.state_1.1.0.v20170516-1513.jar
        eclipse.properties not found
Framework classpath:
    file:/d:/Documents/knime_4.1.2/plugins/org.eclipse.osgi_3.12.100.v20180210-1608.jar
    file:/d:/Documents/knime_4.1.2/plugins/
    file:/d:/Documents/knime_4.1.2/plugins/javax.transaction_1.1.1.v201105210645.jar
    file:/d:/Documents/knime_4.1.2/plugins/org.eclipse.osgi.compatibility.state_1.1.0.v20170516-1513.jar
Debug options:
    file:/C:/Users/z639760/Documents/KNIME/Python/.options not found
Time to load bundles: 11
Starting application: 1212
WARN     main Node       No such file or URL: C:\Users\z639760\AppData\Local\Temp\tmpoyy6_xco\input_3.json
WARN     main Node       The file "C:\Users\z639760\AppData\Local\Temp\tmpbdsdsw5l\input_3.json" could not be resolved to json
Start VM: -server
-Dsun.java2d.d3d=false
-Dosgi.classloader.lock=classname
-XX:+UnlockDiagnosticVMOptions
-XX:+UnsyncloadClass
-XX:+UseG1GC
-Dsun.net.client.defaultReadTimeout=0
-XX:CompileCommand=exclude,javax/swing/text/GlyphView,getBreakSpot
-Xmx24576m
-Dorg.eclipse.swt.browser.IEVersion=11001
-Dsun.awt.noerasebackground=true
-Dequinox.statechange.timeout=30000
-Djava.class.path=D:/Documents/knime_4.1.2/\plugins/org.eclipse.equinox.launcher_1.4.0.v20161219-1356.jar
-os win32
-ws win32
-arch x86_64
-launcher D:/Documents/knime_4.1.2/knime.exe
-name Knime
--launcher.library D:/Documents/knime_4.1.2/\plugins/org.eclipse.equinox.launcher.win32.win32.x86_64_1.1.551.v20171108-1834\eclipse_1630.dll
-startup D:/Documents/knime_4.1.2/\plugins/org.eclipse.equinox.launcher_1.4.0.v20161219-1356.jar
--launcher.overrideVmargs
-debug
-application org.knime.product.KNIME_BATCH_APPLICATION
-data C:\Users\z639760\AppData\Local\Temp\tmpbdsdsw5l\knime_data
-workflowDir=D:\knime-workspace-4\Test\python_knime
-option=3,inputPathOrUrl,C:\Users\z639760\AppData\Local\Temp\tmpbdsdsw5l\input_3.json,String
-option=4,outputPathOrUrl,C:\Users\z639760\AppData\Local\Temp\tmpbdsdsw5l\output_4.json,String
-vm D:/Documents/knime_4.1.2/\plugins/org.knime.binary.jre.win32.x86_64_1.8.0.202-b08/jre/bin\server\jvm.dll
-vmargs
-server
-Dsun.java2d.d3d=false
-Dosgi.classloader.lock=classname
-XX:+UnlockDiagnosticVMOptions
-XX:+UnsyncloadClass
-XX:+UseG1GC
-Dsun.net.client.defaultReadTimeout=0
-XX:CompileCommand=exclude,javax/swing/text/GlyphView,getBreakSpot
-Xmx24576m
-Dorg.eclipse.swt.browser.IEVersion=11001
-Dsun.awt.noerasebackground=true
-Dequinox.statechange.timeout=30000
-Djava.class.path=D:/Documents/knime_4.1.2/\plugins/org.eclipse.equinox.launcher_1.4.0.v20161219-1356.jar 

ERROR:root:captured stderr: Oct 12, 2020 5:03:52 PM org.apache.cxf.bus.osgi.CXFExtensionBundleListener addExtensions
INFO: Adding the extensions from bundle org.apache.cxf.cxf-rt-transports-http (280) [org.apache.cxf.transport.http.HTTPTransportFactory, org.apache.cxf.transport.http.HTTPWSDLExtensionLoader, org.apache.cxf.transport.http.policy.HTTPClientAssertionBuilder, org.apache.cxf.transport.http.policy.HTTPServerAssertionBuilder, org.apache.cxf.transport.http.policy.NoOpPolicyInterceptorProvider]
Oct 12, 2020 5:03:52 PM org.apache.cxf.bus.osgi.CXFExtensionBundleListener addExtensions
INFO: Adding the extensions from bundle org.apache.cxf.cxf-rt-transports-http-hc (281) [org.apache.cxf.transport.http.HTTPConduitFactory, org.apache.cxf.transport.ConduitInitiator]
SLF4J: Failed to load class "org.slf4j.impl.StaticLoggerBinder".
SLF4J: Defaulting to no-operation (NOP) logger implementation
SLF4J: See http://www.slf4j.org/codes.html#StaticLoggerBinder for further details.
Oct 12, 2020 5:04:12 PM org.apache.cxf.bus.osgi.CXFExtensionBundleListener unregister
INFO: Removing the extensions for bundle 280
Oct 12, 2020 5:04:12 PM org.apache.cxf.bus.osgi.CXFExtensionBundleListener unregister
INFO: Removing the extensions for bundle 281

Traceback (most recent call last):

  File "<ipython-input-54-9c07be34ec76>", line 1, in <module>
    runfile('C:/Users/z639760/Documents/KNIME/Python/knime_python.py', wdir='C:/Users/z639760/Documents/KNIME/Python')

  File "C:\Users\z639760\AppData\Local\Continuum\anaconda3\lib\site-packages\spyder_kernels\customize\spydercustomize.py", line 786, in runfile
    execfile(filename, namespace)

  File "C:\Users\z639760\AppData\Local\Continuum\anaconda3\lib\site-packages\spyder_kernels\customize\spydercustomize.py", line 110, in execfile
    exec(compile(f.read(), filename, 'exec'), namespace)

  File "C:/Users/z639760/Documents/KNIME/Python/knime_python.py", line 27, in <module>
    wf.execute()

  File "C:\Users\z639760\AppData\Local\Continuum\anaconda3\lib\site-packages\knime.py", line 384, in execute
    output_as_pandas_dataframes=output_as_pandas_dataframes,

  File "C:\Users\z639760\AppData\Local\Continuum\anaconda3\lib\site-packages\knime.py", line 272, in run_workflow_using_multiple_service_tables
    raise ChildProcessError("Output from KNIME not found")

ChildProcessError: Output from KNIME not found

Hi @nithinth7,

Thanks for opening that issue on github and the offer of help!

Regarding what is happening with the larger input from your CSV file, this line in particular grabs my attention out of that error log from KNIME:

WARN     main Node       The file "C:\Users\z639760\AppData\Local\Temp\tmpbdsdsw5l\input_3.json" could not be resolved to json

If your larger input has any missing values (empty cells in the CSV which pandas generally translates into NaN values in a pandas.DataFrame), you could be triggering a (mis-)behavior of the JSON parser employed by KNIME, which does not know what to do with the NaN values. If correct, thankfully there is already a fix for this in v0.9.6 of knimepy though knimepy’s entry on PyPI still points at v0.9.5 for the moment. You can quickly determine which version of knimepy you have, via Python:

print(knime.__version__)

The entry on PyPI will indeed be updated to point at v0.9.6 but you don’t need to wait on that to try it. The pip tool has the ability to install directly from github repos and even branches on repos which means you can try v0.9.6 right now by running this command, via a Windows cmd shell or “Anaconda Prompt” on Windows (not via Python):

pip install git+https://github.com/knime/knimepy

I am making two key guesses in the above: (1) you have missing values in your input data, and (2) you are using knimepy v0.9.5. If I am off on either guess, then pip-installing a newer knimepy version probably will not do much to help. If I am wrong, we’ll need to turn attention back to the CSV data to figure out what does make it special.

Davin

2 Likes

@potts Thank you for your reply. I updated the python package and workflow partially getting executed.
Table reader node is not getting executed:
image

The image is after the execution from python. As you can clearly see, table reader node stays as configured and not executed. Container Input node has executed and had proper output (input from python). When I manually executing this workflow, it works without any error.

Full error message in python:

runfile('C:/Users/z639760/Documents/KNIME/Python/aitscorer_python.py', wdir='C:/Users/z639760/Documents/KNIME/Python')
ERROR:root:captured stdout: CompilerOracle: exclude javax/swing/text/GlyphView.getBreakSpot
Install location:
    file:/d:/Documents/knime_4.1.2/
Configuration file:
    file:/d:/Documents/knime_4.1.2/configuration/config.ini loaded
Configuration location:
    file:/d:/Documents/knime_4.1.2/configuration/
Framework located:
    file:/d:/Documents/knime_4.1.2/plugins/org.eclipse.osgi_3.12.100.v20180210-1608.jar
Loading extension: reference:file:javax.transaction_1.1.1.v201105210645.jar
        eclipse.properties not found
Loading extension: reference:file:org.eclipse.osgi.compatibility.state_1.1.0.v20170516-1513.jar
        eclipse.properties not found
Framework classpath:
    file:/d:/Documents/knime_4.1.2/plugins/org.eclipse.osgi_3.12.100.v20180210-1608.jar
    file:/d:/Documents/knime_4.1.2/plugins/
    file:/d:/Documents/knime_4.1.2/plugins/javax.transaction_1.1.1.v201105210645.jar
    file:/d:/Documents/knime_4.1.2/plugins/org.eclipse.osgi.compatibility.state_1.1.0.v20170516-1513.jar
Debug options:
    file:/C:/Users/z639760/Documents/KNIME/Python/.options not found
Time to load bundles: 112
Starting application: 2755
Start VM: -server
-Dsun.java2d.d3d=false
-Dosgi.classloader.lock=classname
-XX:+UnlockDiagnosticVMOptions
-XX:+UnsyncloadClass
-XX:+UseG1GC
-Dsun.net.client.defaultReadTimeout=0
-XX:CompileCommand=exclude,javax/swing/text/GlyphView,getBreakSpot
-Xmx24576m
-Dorg.eclipse.swt.browser.IEVersion=11001
-Dsun.awt.noerasebackground=true
-Dequinox.statechange.timeout=30000
-Djava.class.path=D:/Documents/knime_4.1.2/\plugins/org.eclipse.equinox.launcher_1.4.0.v20161219-1356.jar
-os win32
-ws win32
-arch x86_64
-launcher D:/Documents/knime_4.1.2/knime.exe
-name Knime
--launcher.library D:/Documents/knime_4.1.2/\plugins/org.eclipse.equinox.launcher.win32.win32.x86_64_1.1.551.v20171108-1834\eclipse_1630.dll
-startup D:/Documents/knime_4.1.2/\plugins/org.eclipse.equinox.launcher_1.4.0.v20161219-1356.jar
--launcher.overrideVmargs
-debug
-application org.knime.product.KNIME_BATCH_APPLICATION
-workflowDir=D:\knime-workspace-4\Test\LowCostScorer\ait_scorer_lite_test
-option=3,inputPathOrUrl,C:\Users\z639760\AppData\Local\Temp\tmpxatr6s5a\input_3.json,String
-option=4,outputPathOrUrl,C:\Users\z639760\AppData\Local\Temp\tmpxatr6s5a\output_4.json,String
-vm D:/Documents/knime_4.1.2/\plugins/org.knime.binary.jre.win32.x86_64_1.8.0.202-b08/jre/bin\server\jvm.dll
-vmargs
-server
-Dsun.java2d.d3d=false
-Dosgi.classloader.lock=classname
-XX:+UnlockDiagnosticVMOptions
-XX:+UnsyncloadClass
-XX:+UseG1GC
-Dsun.net.client.defaultReadTimeout=0
-XX:CompileCommand=exclude,javax/swing/text/GlyphView,getBreakSpot
-Xmx24576m
-Dorg.eclipse.swt.browser.IEVersion=11001
-Dsun.awt.noerasebackground=true
-Dequinox.statechange.timeout=30000
-Djava.class.path=D:/Documents/knime_4.1.2/\plugins/org.eclipse.equinox.launcher_1.4.0.v20161219-1356.jar 

ERROR:root:captured stderr: Oct 13, 2020 4:49:05 PM org.apache.cxf.bus.osgi.CXFExtensionBundleListener addExtensions
INFO: Adding the extensions from bundle org.apache.cxf.cxf-rt-transports-http (280) [org.apache.cxf.transport.http.HTTPTransportFactory, org.apache.cxf.transport.http.HTTPWSDLExtensionLoader, org.apache.cxf.transport.http.policy.HTTPClientAssertionBuilder, org.apache.cxf.transport.http.policy.HTTPServerAssertionBuilder, org.apache.cxf.transport.http.policy.NoOpPolicyInterceptorProvider]
Oct 13, 2020 4:49:05 PM org.apache.cxf.bus.osgi.CXFExtensionBundleListener addExtensions
INFO: Adding the extensions from bundle org.apache.cxf.cxf-rt-transports-http-hc (281) [org.apache.cxf.transport.http.HTTPConduitFactory, org.apache.cxf.transport.ConduitInitiator]
SLF4J: Failed to load class "org.slf4j.impl.StaticLoggerBinder".
SLF4J: Defaulting to no-operation (NOP) logger implementation
SLF4J: See http://www.slf4j.org/codes.html#StaticLoggerBinder for further details.
ERROR    main Node       Configure failed (NullPointerException): null
java.lang.NullPointerException
        at org.knime.workbench.explorer.ExplorerURLStreamHandler.resolveMountpointRelativeUrl(ExplorerURLStreamHandler.java:354)
        at org.knime.workbench.explorer.ExplorerURLStreamHandler.resolveMountpointRelativeUrl(ExplorerURLStreamHandler.java:316)
        at org.knime.workbench.explorer.ExplorerURLStreamHandler.resolveKNIMEURL(ExplorerURLStreamHandler.java:210)
        at org.knime.workbench.explorer.ExplorerURLStreamHandler.openConnection(ExplorerURLStreamHandler.java:151)
        at org.eclipse.osgi.internal.url.URLStreamHandlerProxy.openConnection(URLStreamHandlerProxy.java:114)
        at java.net.URL.openConnection(URL.java:979)
        at org.knime.core.node.util.CheckUtils.resolveToPath(CheckUtils.java:508)
        at org.knime.core.node.util.CheckUtils.checkSourceFile(CheckUtils.java:444)
        at org.knime.base.node.io.table.read.ReadTableNodeModel.configure(ReadTableNodeModel.java:304)
        at org.knime.core.node.NodeModel.configure(NodeModel.java:1106)
        at org.knime.core.node.NodeModel.configureModel(NodeModel.java:1055)
        at org.knime.core.node.Node.invokeNodeModelConfigure(Node.java:1905)
        at org.knime.core.node.Node.configure(Node.java:1841)
        at org.knime.core.node.workflow.NativeNodeContainer.performConfigure(NativeNodeContainer.java:528)
        at org.knime.core.node.workflow.SingleNodeContainer.callNodeConfigure(SingleNodeContainer.java:304)
        at org.knime.core.node.workflow.SingleNodeContainer.configure(SingleNodeContainer.java:204)
        at org.knime.core.node.workflow.WorkflowManager.configureSingleNodeContainer(WorkflowManager.java:6000)
        at org.knime.core.node.workflow.WorkflowManager.postLoad(WorkflowManager.java:8082)
        at org.knime.core.node.workflow.WorkflowManager.loadContent(WorkflowManager.java:7920)
        at org.knime.core.node.workflow.WorkflowManager.postLoad(WorkflowManager.java:8045)
        at org.knime.core.node.workflow.WorkflowManager.loadContent(WorkflowManager.java:7920)
        at org.knime.core.node.workflow.WorkflowManager.load(WorkflowManager.java:7874)
        at org.knime.core.node.workflow.WorkflowManager.load(WorkflowManager.java:7795)
        at org.knime.core.node.workflow.WorkflowManager.load(WorkflowManager.java:7768)
        at org.knime.core.node.workflow.WorkflowManager.loadProject(WorkflowManager.java:7613)
        at org.knime.core.node.workflow.BatchExecutor.loadWorkflow(BatchExecutor.java:740)
        at org.knime.core.node.workflow.BatchExecutor.runOne(BatchExecutor.java:907)
        at org.knime.core.node.workflow.BatchExecutor.runAll(BatchExecutor.java:889)
        at org.knime.core.node.workflow.BatchExecutor.mainRun(BatchExecutor.java:671)
        at org.knime.product.headless.KNIMEBatchApplication.runBatchExecutor(KNIMEBatchApplication.java:127)
        at org.knime.product.headless.KNIMEBatchApplication.start(KNIMEBatchApplication.java:80)
        at org.eclipse.equinox.internal.app.EclipseAppHandle.run(EclipseAppHandle.java:196)
        at org.eclipse.core.runtime.internal.adaptor.EclipseAppLauncher.runApplication(EclipseAppLauncher.java:134)
        at org.eclipse.core.runtime.internal.adaptor.EclipseAppLauncher.start(EclipseAppLauncher.java:104)
        at org.eclipse.core.runtime.adaptor.EclipseStarter.run(EclipseStarter.java:388)
        at org.eclipse.core.runtime.adaptor.EclipseStarter.run(EclipseStarter.java:243)
        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:498)
        at org.eclipse.equinox.launcher.Main.invokeFramework(Main.java:653)
        at org.eclipse.equinox.launcher.Main.basicRun(Main.java:590)
        at org.eclipse.equinox.launcher.Main.run(Main.java:1499)
ERROR    main Node       Configure failed (NullPointerException): null
java.lang.NullPointerException
        at org.knime.workbench.explorer.ExplorerURLStreamHandler.resolveMountpointRelativeUrl(ExplorerURLStreamHandler.java:354)
        at org.knime.workbench.explorer.ExplorerURLStreamHandler.resolveMountpointRelativeUrl(ExplorerURLStreamHandler.java:316)
        at org.knime.workbench.explorer.ExplorerURLStreamHandler.resolveKNIMEURL(ExplorerURLStreamHandler.java:210)
        at org.knime.workbench.explorer.ExplorerURLStreamHandler.openConnection(ExplorerURLStreamHandler.java:151)
        at org.eclipse.osgi.internal.url.URLStreamHandlerProxy.openConnection(URLStreamHandlerProxy.java:114)
        at java.net.URL.openConnection(URL.java:979)
        at org.knime.core.node.util.CheckUtils.resolveToPath(CheckUtils.java:508)
        at org.knime.core.node.util.CheckUtils.checkSourceFile(CheckUtils.java:444)
        at org.knime.base.node.io.table.read.ReadTableNodeModel.configure(ReadTableNodeModel.java:304)
        at org.knime.core.node.NodeModel.configure(NodeModel.java:1106)
        at org.knime.core.node.NodeModel.configureModel(NodeModel.java:1055)
        at org.knime.core.node.Node.invokeNodeModelConfigure(Node.java:1905)
        at org.knime.core.node.Node.configure(Node.java:1841)
        at org.knime.core.node.workflow.NativeNodeContainer.performConfigure(NativeNodeContainer.java:528)
        at org.knime.core.node.workflow.SingleNodeContainer.callNodeConfigure(SingleNodeContainer.java:304)
        at org.knime.core.node.workflow.SingleNodeContainer.configure(SingleNodeContainer.java:189)
        at org.knime.core.node.workflow.WorkflowManager.configureSingleNodeContainer(WorkflowManager.java:6000)
        at org.knime.core.node.workflow.WorkflowManager.configureNodeAndPortSuccessors(WorkflowManager.java:6159)
        at org.knime.core.node.workflow.WorkflowManager.configureNodeAndSuccessors(WorkflowManager.java:6102)
        at org.knime.core.node.workflow.WorkflowManager.loadNodeSettings(WorkflowManager.java:1817)
        at org.knime.core.node.workflow.BatchExecutor.setNodeOptions(BatchExecutor.java:1033)
        at org.knime.core.node.workflow.BatchExecutor.loadWorkflow(BatchExecutor.java:772)
        at org.knime.core.node.workflow.BatchExecutor.runOne(BatchExecutor.java:907)
        at org.knime.core.node.workflow.BatchExecutor.runAll(BatchExecutor.java:889)
        at org.knime.core.node.workflow.BatchExecutor.mainRun(BatchExecutor.java:671)
        at org.knime.product.headless.KNIMEBatchApplication.runBatchExecutor(KNIMEBatchApplication.java:127)
        at org.knime.product.headless.KNIMEBatchApplication.start(KNIMEBatchApplication.java:80)
        at org.eclipse.equinox.internal.app.EclipseAppHandle.run(EclipseAppHandle.java:196)
        at org.eclipse.core.runtime.internal.adaptor.EclipseAppLauncher.runApplication(EclipseAppLauncher.java:134)
        at org.eclipse.core.runtime.internal.adaptor.EclipseAppLauncher.start(EclipseAppLauncher.java:104)
        at org.eclipse.core.runtime.adaptor.EclipseStarter.run(EclipseStarter.java:388)
        at org.eclipse.core.runtime.adaptor.EclipseStarter.run(EclipseStarter.java:243)
        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:498)
        at org.eclipse.equinox.launcher.Main.invokeFramework(Main.java:653)
        at org.eclipse.equinox.launcher.Main.basicRun(Main.java:590)
        at org.eclipse.equinox.launcher.Main.run(Main.java:1499)
ERROR    KNIME-Worker-0-Container Input (Table) 0:3 Node         Configure failed (NullPointerException): null
java.lang.NullPointerException
        at org.knime.workbench.explorer.ExplorerURLStreamHandler.resolveMountpointRelativeUrl(ExplorerURLStreamHandler.java:354)
        at org.knime.workbench.explorer.ExplorerURLStreamHandler.resolveMountpointRelativeUrl(ExplorerURLStreamHandler.java:316)
        at org.knime.workbench.explorer.ExplorerURLStreamHandler.resolveKNIMEURL(ExplorerURLStreamHandler.java:210)
        at org.knime.workbench.explorer.ExplorerURLStreamHandler.openConnection(ExplorerURLStreamHandler.java:151)
        at org.eclipse.osgi.internal.url.URLStreamHandlerProxy.openConnection(URLStreamHandlerProxy.java:114)
        at java.net.URL.openConnection(URL.java:979)
        at org.knime.core.node.util.CheckUtils.resolveToPath(CheckUtils.java:508)
        at org.knime.core.node.util.CheckUtils.checkSourceFile(CheckUtils.java:444)
        at org.knime.base.node.io.table.read.ReadTableNodeModel.configure(ReadTableNodeModel.java:304)
        at org.knime.core.node.NodeModel.configure(NodeModel.java:1106)
        at org.knime.core.node.NodeModel.configureModel(NodeModel.java:1055)
        at org.knime.core.node.Node.invokeNodeModelConfigure(Node.java:1905)
        at org.knime.core.node.Node.configure(Node.java:1841)
        at org.knime.core.node.workflow.NativeNodeContainer.performConfigure(NativeNodeContainer.java:528)
        at org.knime.core.node.workflow.SingleNodeContainer.callNodeConfigure(SingleNodeContainer.java:304)
        at org.knime.core.node.workflow.SingleNodeContainer.configure(SingleNodeContainer.java:196)
        at org.knime.core.node.workflow.WorkflowManager.configureSingleNodeContainer(WorkflowManager.java:6000)
        at org.knime.core.node.workflow.WorkflowManager.configureNodeAndPortSuccessors(WorkflowManager.java:6159)
        at org.knime.core.node.workflow.WorkflowManager.doAfterExecution(WorkflowManager.java:3202)
        at org.knime.core.node.workflow.NodeContainer.notifyParentExecuteFinished(NodeContainer.java:630)
        at org.knime.core.node.workflow.NodeExecutionJob.internalRun(NodeExecutionJob.java:248)
        at org.knime.core.node.workflow.NodeExecutionJob.run(NodeExecutionJob.java:124)
        at org.knime.core.util.ThreadUtils$RunnableWithContextImpl.runWithContext(ThreadUtils.java:334)
        at org.knime.core.util.ThreadUtils$RunnableWithContext.run(ThreadUtils.java:210)
        at java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:511)
        at java.util.concurrent.FutureTask.run(FutureTask.java:266)
        at org.knime.core.util.ThreadPool$MyFuture.run(ThreadPool.java:123)
        at org.knime.core.util.ThreadPool$Worker.run(ThreadPool.java:246)
Oct 13, 2020 4:49:46 PM org.apache.cxf.bus.osgi.CXFExtensionBundleListener unregister
INFO: Removing the extensions for bundle 280
Oct 13, 2020 4:49:46 PM org.apache.cxf.bus.osgi.CXFExtensionBundleListener unregister
INFO: Removing the extensions for bundle 281

Traceback (most recent call last):

  File "<ipython-input-62-0c4b3e722f7d>", line 1, in <module>
    runfile('C:/Users/z639760/Documents/KNIME/Python/aitscorer_python.py', wdir='C:/Users/z639760/Documents/KNIME/Python')

  File "C:\Users\z639760\AppData\Local\Continuum\anaconda3\lib\site-packages\spyder_kernels\customize\spydercustomize.py", line 786, in runfile
    execfile(filename, namespace)

  File "C:\Users\z639760\AppData\Local\Continuum\anaconda3\lib\site-packages\spyder_kernels\customize\spydercustomize.py", line 110, in execfile
    exec(compile(f.read(), filename, 'exec'), namespace)

  File "C:/Users/z639760/Documents/KNIME/Python/aitscorer_python.py", line 28, in <module>
    wf.execute()

  File "C:\Users\z639760\AppData\Local\Continuum\anaconda3\lib\site-packages\knime.py", line 395, in execute
    output_as_pandas_dataframes=output_as_pandas_dataframes,

  File "C:\Users\z639760\AppData\Local\Continuum\anaconda3\lib\site-packages\knime.py", line 283, in run_workflow_using_multiple_service_tables
    raise ChildProcessError("Output from KNIME not found")

ChildProcessError: Output from KNIME not found

hi @potts

Any chance you get a look at this issue?

Regards,
Nithin

This topic was automatically closed 182 days after the last reply. New replies are no longer allowed.